使用Action Listener获取JButton的文本

Dan*_*Dan 0 java swing jbutton actionlistener

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

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

Mad*_*mer 6

你可以使用一个很好的简单技巧......

@Override
public void actionPerformed(ActionEvent e)
{
    String butSrcTxt = e.getActionCommand();
}
Run Code Online (Sandbox Code Playgroud)

如果未指定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();
    }

}
Run Code Online (Sandbox Code Playgroud)