如何点击特定的Jbutton?

时间:2012-04-22 17:14:22

标签: java swing

我有一个我正在制作Jbuttons的标题列表。我希望当我点击一个特定的按钮时,我得到那个文本。我在网上搜索并尝试了一些东西,但他们给出了列表中的随机标题而不是我点击的那个。请让我知道我在哪里弄错了。任何形式的帮助将受到高度赞赏。谢谢,

           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;
     }

1 个答案:

答案 0 :(得分:4)

通常,您不希望将MouseListener添加到JButtons。如果您已经阅读了按钮教程,那么您肯定已经看到应该使用ActionListeners。如果这样做,请在传递给侦听器的getActionCommand()方法的ActionEvent对象上调用actionPerformed(...),然后您将获得所需的字符串。

即,

myButton.addActionListener(new ActionListener() {
   actionPerformed(ActionEvent evt) {
      System.out.println("Button's actionCommand: " + evt.getActionCommand());
   }
});

法律免责声明:此代码尚未编译或测试,并不是复制和粘贴解决方案,而是让您了解ActionListeners的工作原理,以便您可以将该概念调整到您的程序中。

此外,请查看Swing JButton tutorial以了解您需要了解的所有其他详细信息。

相关问题