我有一个标题列表,我正在为其制作 Jbutton。我希望当我点击一个特定的按钮时我得到那个文本。我在网上搜索并尝试了一些东西但是他们从列表中给出了随机标题而不是我点击的那个。请让我知道我在哪里犯了错误。任何形式的帮助将不胜感激。谢谢,
for(String title:listOfTitles){
button1.setText(title);
button1.setBounds(20,50,100,25);
button1.setBorderPainted(true);
button1.setFocusPainted(true);
button1.setContentAreaFilled(false);
button1.setOpaque(false);
button1.setBackground(Color.lightGray);
button1.setBounds(5,i,100,100);
button1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTextField3.setText(((button1) evt.getSource()).getText());
}
});
jPanel3.add(button1);
jPanel3.revalidate();
jPanel3.repaint();
i = i+15;
}
最佳答案
通常,您不想将 MouseListener 添加到 JButtons。如果您已经阅读了按钮教程,您肯定已经知道您应该改用 ActionListeners。如果这样做,对传递到监听器的 actionPerformed(...)
方法的 ActionEvent 对象调用 getActionCommand()
,您将获得所需的字符串。
即,
myButton.addActionListener(new ActionListener() {
actionPerformed(ActionEvent evt) {
System.out.println("Button's actionCommand: " + evt.getActionCommand());
}
});
法律免责声明:此代码未经编译或测试,并不意味着复制和粘贴解决方案,而是让您了解 ActionListeners 的工作原理,以便您可以将这个概念应用到您的程序中。
此外,请查看 Swing JButton tutorial了解您需要了解的所有其他详细信息。
关于java - 我如何获得特定的 Jbutton 单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10270151/