当前位置: 首页 > 知识库问答 >
问题:

Java-一个ActionListener用于多个JButton

王涵育
2023-03-14

我正在编写一个Java应用程序。我有多个按钮。每个按钮的代码完全相同,因此我只需要一个ActionListener。但是在这个ActionListener中,我需要为相应的按钮调用“setText()”。这可能吗?我将如何实现这一点?

我尝试了以下方法:

private void btnClicked(java.awt.event.ActionEvent evt) {
  (JButton)evt.setText("Hello");
}

但这不起作用——它说“找不到符号”。

提前感谢;)

共有1个答案

陈马鲁
2023-03-14
(JButton)evt.setText("Hello");

ActionEvent类没有getText()方法。

您需要调用getSource()方法来访问按钮,然后可以调用按钮的getText()方法。

我总是喜欢长途跋涉,这样我就不会犯错:

JButton button = (JButton)evt.getSource();
button.setText( "Hello" );

但简单的方法是:

((JButton)evt.getSource()).setText("Hello");
 类似资料:
  • 我在for循环中有一个多jradiobutton,我正在尝试将侦听器放在它上面,我发现: 多个单选按钮的操作侦听器 创建二维JRadioButton数组,如 这是所有JRadioButton的单个ActionListener 我有点理解,但我仍有一些澄清: 二维的jRadio按钮的目的是什么?我的意思是,我有点明白它是为jRadio按钮设置一个名称,但就我的理解而言,它只是用于显示。是的,确认这是

  • 问题内容: 我正在使用MVC创建一个基本的计算器。到目前为止,我正在改编一个教程,该教程仅将两个用户输入的值加在一起。 目前,我要添加到视图中的每个按钮都有其自己的侦听器,可以。但是,根据教程的控制器每个按钮只有一个ActionListener内部类。这重复了大量代码。 如何为所有按下的按钮创建一个ActionListener类,并在按下的按钮的ID上使用case语句? 在视图中注册oneButt

  • 我在scala上,我有多个针对不同类(testsuites)的测试文件,每一个都使用testcontainers(来自同一脚本的init)。 当我启动项目中的所有测试时,所有测试都失败了(由于testContainers导致与数据库的连接出现问题)。 当我分别启动测试时,所有的测试都成功了。 有没有办法为多个测试文件(testsuites)只启动一个容器?似乎只对同一文件中的测试起作用。 @Mat

  • toValid函数只是更正一个字符串,您可以忽略它。

  • 我想要一个选项卡布局,其中,在每个选项卡上有两个片段,一个在上面显示任务的进度,通过在3个选项卡中提供从开始到结束的输入来完成,和另一个在进度片段下面的主片段将接受输入。 我试了两天所有的方法:( 我的解决方案我尝试了一个包含两个framelayout的布局,用于将主片段添加到ViewPager的两个选项卡中,如下所示: 在活动开始时,我执行此操作,请参见在主片段中用于加载不同标签位置的详细片段的

  • 我正在寻找一种解决方案,来解决需要按顺序一个接一个地执行的命令集。同样,只有在前一个命令完成执行后,才能执行一个命令。 我试着用“;”执行命令对于每个命令,但所有命令都在一次尝试中执行。所以,它不起作用。在同一个shell/exec中运行每个命令的可能方法是什么。