Java 如何单击特定的Jbutton?

Java 如何单击特定的Jbutton?,java,swing,Java,Swing,我有一个标题列表,我正在为其制作Jbuttons。我希望当我点击一个特定的按钮时,我会得到那个文本。我在网上搜索并尝试了一些东西,但他们给出的是列表中的随机标题,而不是我点击的那个。请告诉我哪里出错了。我们将非常感谢您的任何帮助。谢谢 for(String title:listOfTitles){ button1.setText(title); button1.setBounds(20,50,100,25);

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

通常,您不希望向JButtons添加鼠标侦听器。如果您已经阅读了按钮教程,那么您肯定已经看到应该改用ActionListeners。如果执行此操作,请对传递到侦听器的
actionPerformed(…)
方法中的ActionEvent对象调用
getActionCommand()
,您将获得所需的字符串

i、 e

法律免责声明:此代码未经编译或测试,不打算作为复制粘贴解决方案,而是让您了解ActionListeners的工作原理,以便您可以根据自己的程序调整此概念


另外,请查看,了解您需要了解的所有其他详细信息。

通常,您不想在JButtons中添加鼠标侦听器。如果您已经阅读了按钮教程,那么您肯定已经看到应该改用ActionListeners。如果执行此操作,请对传递到侦听器的
actionPerformed(…)
方法中的ActionEvent对象调用
getActionCommand()
,您将获得所需的字符串

i、 e

法律免责声明:此代码未经编译或测试,不打算作为复制粘贴解决方案,而是让您了解ActionListeners的工作原理,以便您可以根据自己的程序调整此概念


另外,请查看,了解您需要了解的所有其他详细信息。

我是java新手,如果您能给我一些代码,我将不胜感激。谢谢。我尝试了此操作,出现了未经批准的异常,并生成了随机标题:button1.setActionCommand(button1.getText());button1.addActionListener(new ActionListener(){@Override public void actionPerformed(ActionEvent e){String ac=e.getActionCommand();System.out.println(“按钮的actioncommand:+ac”);抛出新的UnsupportedOperationException(“尚不受支持”); } });@user127:您不想在注释中发布代码,因为它们无法格式化且不可读。最好编辑您的原始问题,并在其中发布新代码和问题,然后在注释中通知我们更改情况。@user127:如果出现不支持的操作异常,您真的不应该感到惊讶,因为您的方法正在抛出一个异常。摆脱那一行代码。我是java新手,如果你能给我一些代码,我将不胜感激。谢谢我尝试了这一点,出现了未受抑制的异常,并生成了随机标题:button1.setActionCommand(button1.getText());button1.addActionListener(new ActionListener(){@Override public void actionPerformed(ActionEvent e){String ac=e.getActionCommand();System.out.println(“按钮的actioncommand:+ac”);抛出新的UnsupportedOperationException(“尚不受支持”); } });@user127:您不想在注释中发布代码,因为它们无法格式化且不可读。最好编辑您的原始问题,并在其中发布新代码和问题,然后在注释中通知我们更改情况。@user127:如果出现不支持的操作异常,您真的不应该感到惊讶,因为您的方法正在抛出一个异常。去掉那行代码。“我有一个标题列表…”合适的组件可能是一个。“我有一个标题列表…”合适的组件可能是一个。
myButton.addActionListener(new ActionListener() {
   actionPerformed(ActionEvent evt) {
      System.out.println("Button's actionCommand: " + evt.getActionCommand());
   }
});