我有6个JLabel,每个都有一个不同的mouselistener类实例。如何知道哪个JLabel被点击?这些JLabel形成了一个二维数组。哪个JLabel被点击过?
0
A
回答
2
您使用的getSource得到refrence对象被点击:
label1.addActionListener(new yourListener());
label2.addActionListener(new yourListener());
public class yourListener extends MouseAdapter{
public void mouseClicked(MouseEvent e){
JLabel labelReference=(JLabel)e.getSource();
labelReference.someMethod();
}
}
2
我不喜欢的东西,这是,使用Jbutton将,让他们通过使用此语法看起来像的JLabel的最简单方法格式。
jButton.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
jButton.setBorderPainted(false);
jButton.setContentAreaFilled(false);
jButton.setFocusPainted(false);
jButton.setHorizontalAlignment(SwingConstants.LEFT);
然后,你想要的是添加一个ActionLister和一个ActionCommand。例如,
jButton.addActionListener(this);
jButton.setActionCommand("label1");
然后只处理actionListners做你想要的每个标签。
public void actionPerformed(ActionEvent arg0)
{
String command = arg0.getActionCommand();
if(command.equalsIgnoreCase("label1"))
{
//label1 code
}
}
如下所述,这还具有支持键盘和鼠标活动的附加好处。
+0
+1好一个!按钮将对鼠标点击和键盘活动做出反应。 :) – 2012-03-09 15:21:37
1
我把这个在一起,根据您的描述:
public static void main(String[] args) {
JFrame f = new JFrame();
f.setLayout(new FlowLayout());
for (int i = 0; i < 6; i++) {
JLabel l = new JLabel("Label " + (i + 1));
l.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
JLabel l = (JLabel) e.getSource(); // here
System.out.println(l.getText());
}
});
f.add(l);
}
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
我觉得行标// here
是你需要什么大多。
相关问题
- 1. 通过点击jlabel创建活动
- 2. 检查哪个按钮被点击
- 3. 如何定义哪个ListView被点击?
- 4. 找到哪个视图被点击
- 5. CheckedTextView的哪个部分被点击了?
- 6. 获取哪个项目被点击
- 7. vba按钮 - 找到哪个被点击
- 8. jQuery检测哪个id被点击
- 9. 找到哪个按钮被点击
- 10. 找到哪个li被点击
- 11. 哪个控件被点击了?
- 12. JQuery:哪个元素被点击?
- 13. $ _POST表单通过点击图片。并知道哪个图片被点击
- 14. 用UIButton自定义UITableViewCell:哪个按钮被点击过?
- 15. 如何使JLabel可点击?
- 16. java jlabel点击/拖拽
- 17. 确定哪个JavaFX ListView项目未被选中而被点击
- 18. 如何确定哪个节点被点击。 Silverlight treeview
- 19. 如何知道jQuery中哪个锚点被点击?
- 20. 确定树状图中的哪个节点已被点击
- 21. 单元格的哪一侧被点击
- 22. Android - 带有2个textView的ListView得到哪一个被点击
- 23. 一个VerticalPanel的哪个部件已被点击的GWT?
- 24. 点击了哪个按钮?
- 25. 使JButton可点击而不是JLabel
- 26. Jlabel额外的可点击空间
- 27. 得到一个被点击
- 28. 检测哪个UIBarButton从其他ViewController被点击
- 29. 如何确定哪个按钮被点击了一段时间
- 30. 返回显示哪个元素被点击的对象
你是否得到这个工作? :) – 2012-03-12 13:57:02