java - 我如何获得特定的 Jbutton 单击?

标签 java swing

我有一个标题列表,我正在为其制作 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/

相关文章:

Java Swing BasicStroke "cap"不适用于零度角

java - 我需要帮助使用 Jbutton ActionListener 在 java 中将图像图标移动到屏幕上

java - 创建事件调度线程安全信号灯

java - Thymeleaf 没有对象类?

JAVA,通过URL播放mp3

java - 如果用户不验证电子邮件,会发生什么?

java - 通过Collections类的算法获取集合的 “dynamically typesafe view”

java - 当值更改时,JTable 会更改整个列的颜色 - Swing

java - 为第一轮 Switch Java 制作 If 语句

java - 通过文本字段修改数组列表