我有一个Jlabel和一个checkbox。我想创建它,这样我就可以点击Jlabel,然后复选框就会被勾选。我需要它成为一个标签,因为我把它用来做别的事情。通常我只需要一个只有一些文本的复选框,但这一次我需要一个标签和复选框,并且当点击时我需要标签来勾选复选框。下面是我的代码。我试图向标签添加一个动作侦听器,但我得到一个错误,说它是一个未定义的类型。谢谢..。
JCheckBox _mycheckbox = new JCheckBox();
JLabel _mylabel = new JLabel(_mylabel);发布于 2017-01-05 14:22:22
简单的方法是将文本分配给复选框本身:
JCheckBox _mycheckbox = new JCheckBox("Tick Me"); //gives you checkbox, along with clickable text另一种选择是让标签上的操作侦听器模拟点击复选框:
_mylabel.addActionListener((e)->_mycheckbox.doClick()); //java 8 lambda在Java 8之前,您可以执行以下操作
_mylabel.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae){
_mycheckbox.doClick();
}
});发布于 2017-01-05 14:06:22
您可以考虑将MouseListener添加到JLabel并覆盖mouseClicked()方法。
_mylabel.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e){
//do whatever
}
});https://stackoverflow.com/questions/41478206
复制相似问题