我已将一些 JToggleButtons 添加到带有 BoxLayout 的 JPanel。按钮已放置在 ButtonGroup 中。现在我想为当前选择的按钮切换一些属性,只有当它被选中时。我正在寻找这样的东西:
buttonGroup.addSomeListener(new SomeListener() {
@Override
public void whenToggled() {
/*set attributes for button*/
}
});
具体来说,我希望选定的按钮显示 aBevelBorder.LOWERED
而不是
button.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
我的 JPanel 中的按钮有。
编辑
button
除非我简单地将类型更改为JButton
JToggleButton 如何在 changelistener 中侦听 mouseOver,否则此代码不会打印出“翻转” ?
public class Test {
public static void main(String[] args) {
JPanel panel = new JPanel();
final JToggleButton button = new JToggleButton();
button.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent arg0) {
ButtonModel mod = button.getModel();
if (mod.isRollover()) {
System.out.println("rollover");
}
}
});
JFrame frame = new JFrame();
frame.add(panel);
panel.add(button);
frame.setVisible(true);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
} }