当前位置: 首页 > 面试题库 >

使用动作侦听器获取JButton的文本

锺离烈
2023-03-14
问题内容

是否有原因getText导致error: cannot find symbol代码中显示的动作侦听器内部?另外,如果有,我该如何解决此错误?

class openNewPaneActionListener implements ActionListener
{
    @Override
    public void actionPerformed(ActionEvent e)
    {
        String butSrcTxt = e.getSource().getText();
    }
}

问题答案:

您可以使用一个不错的简单技巧…

@Override
public void actionPerformed(ActionEvent e)
{
    String butSrcTxt = e.getActionCommand();
}

如果未actionCommand为按钮指定,则text使用按钮的。

现在,如果您确实指定了actionCommand按钮的属性,并且您仍然想知道文本(对我来说似乎很奇怪),则可以使用更多类似…

@Override
public void actionPerformed(ActionEvent e)
{
    Object source = e.getSource();
    if (source instanceof JButton) {
        JButton btn = (JButton)source;
        String butSrcTxt = btn.getText();
    }

}


 类似资料:
  • 问题内容: 我怎样才能使它成为特定方法? (我知道可以用一种方法将其全部抛弃,是的。 谢谢你们, 编辑:谢谢大家的快速反应,我的解释不是很清楚。 我调查了lambda的使用,这几乎是我在想的,尽管其他方式也很不错。 再次谢谢大家。 下次我会尝试变得更清晰,更快捷。 问题答案: 同样,您的问题仍然不清楚。您上面的代码 有 一种方法,可以将代码放入其中: 或者,您可以从该方法中调用外部类的方法: 或者

  • 问题内容: 我有两个分别称为“左”和“右”。“左”按钮将矩形对象向左移动,“右”按钮将其向右移动。我在班上有一个充当单击任一按钮时的侦听器。但是,我希望单击每个动作时都会发生不同的动作。如何区分点击的? 问题答案: 将actionCommand设置到每个按钮。 //将动作命令设置到两个按钮上。 更新:

  • 我正在处理JButton事件。我有一个JPanel类,我们叫Panel1,包含一个公共的JButton,我们叫它Button1。单击此按钮时: 但我有兴趣: 有什么建议吗?

  • 我有一个任务,我必须为一个油漆应用程序项目创建和按钮阵列,一切都完成了,但我被困在分配/引用/修改我的动作监听器。 它的工作方式(据推测)是,我有一个循环,可以创建、指定一个名称,并向动作侦听器添加一个名为myShapes的JButton数组。因此,我应该将actionlistener命名为listener();为每个jbutton指定int 1-6,设置当前ActionExecuted状态。 问

  • 我试图在来自应用程序的所有网络请求上添加一个自定义头,并试图通过服务工作者获取来实现这一点。标题的内容需要来自应用程序(客户端),所以在响应任何事件之前,我需要等待客户端的响应。下面是我实现这一目标的尝试 这是我的获取侦听器代码 这是我如何注册这个工人和它的消息监听器 但显然它拍摄2个请求,1个原始请求和1个修改标题。 知道我做错了什么吗?我是javascript的新手,所以如果有一些愚蠢的错误,

  • 下面的代码是项目的动作侦听器。基本上,我有 4 个单选按钮,当我单击一个时,我希望它更改屏幕上的变量。当我运行代码时,它只是将所有值相加。还有其他方法可以做到这一点吗?