我有一个清单JLabel
。我希望在单击JTextArea
中的标签内容时保持不变。为什么当我单击标签时,文本区域不显示?
jLabel0.setText(namelist.get(0));
jLabel1.setText(namelist.get(1));
jLabel2.setText(namelist.get(2));
jLabel3.setText(namelist.get(3));
jLabel4.setText(namelist.get(4));
jLabel5.setText(namelist.get(5));
//String b[]={"jLabel4","jLabel5","jLabel7","jLabel8","jLabel9","jLabel10"};
for (int i=0;i<k;i++){
String f=String.valueOf(i);
JLabel jlb = new JLabel("jLabel"+f);
String Af=file_list.get(i);
FileReader F=new FileReader(Af);
jlb.addMouseListener(new MouseListener(){
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()==1)
{
try {
jTextArea3.read(F,"");
} catch (IOException ex) {
Logger.getLogger(FAKENEWS.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
});
}
您可以简单地使用JButton
并通过使按钮看起来像标签来实现它。创建按钮后,您将需要执行以下操作:
setFocusPainted(false);
setMargin(new Insets(0, 0, 0, 0));
setContentAreaFilled(false);
setBorderPainted(false);
setOpaque(false);
[如果希望它实际绘制焦点,则可能要排除setFocusPainted(false)
(例如Windows外观上的虚线边框)。
然后,您可以使用按钮事件处理程序执行所需的操作。