我刚开始学习 Java。
我正在创建一个 JInternalFrame,其中有 28 个矩阵形式的标签。我想在点击时将标签文本从 - 更改为 +,反之亦然。
我可以将EventListeners逐一添加到每个标签中。但我想要一些简单的解决方案,其中我不需要单独为每个标签添加事件监听器。很久以前,我在 VisualBasic 中的按钮数组上尝试过相同的方法。
最佳答案
为什么?您可以共享 MouseListener。然后,您只需在创建标签时将监听器添加到标签即可。这是比事后尝试搜索单击的标签更好的方法。But I want some simple solution in which I don't need to add eventlisteners for each label individually
例如:
MouseListener ml = new MouseAdapter()
{
@Override
public void mousePressed(MouseEvent e)
{
JLabel label = (JLabel)e.getComponent();
label.setText( label.getText().equals("-") ? "+" : "-" );
}
}
for (int i = 0; i < 28)
{
JLabel label = new JLabel("-");
label.addMouseListener( ml );
panel.add(label);
}
关于java - 单击任何标签时调用单个函数 JInternalFrame Java Swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33986355/