Java 从操作侦听器设置按钮的文本

Java 从操作侦听器设置按钮的文本,java,swing,Java,Swing,因此,我的代码中有一个JComboBox和两个JButton控件 String[] s1 = { "NL", "EN"}; c1 = new JComboBox<>(s1); c1.setBounds(10, 10, 50, 20); desgin.startFrame.add(c1); JButton button = desgin.makeButton(desgin.startFrame, 100, 100, 180, 50,

因此,我的代码中有一个
JComboBox
和两个
JButton
控件

String[] s1 = { "NL", "EN"}; 

c1 = new JComboBox<>(s1);  
c1.setBounds(10, 10, 50, 20);
desgin.startFrame.add(c1); 

JButton button = desgin.makeButton(desgin.startFrame, 100, 100, 180, 50, json.getLanguage(languageMenu())[3]);
JButton jButton = desgin.makeButton(desgin.startFrame, 100, 180, 180, 50, json.getLanguage(languageMenu())[4]);
String[]s1={“NL”,“EN”};
c1=新的JComboBox(s1);
c1.立根(10,10,50,20);
设计开始框架添加(c1);
JButton button=desgin.makeButton(desgin.startFrame,100100180,50,json.getLanguage(languageMenu())[3]);
JButton JButton=desgin.makeButton(desgin.startFrame,10018018050,json.getLanguage(languageMenu())[4]);
当我在组合框中更改语言时,按钮上的语言应该会更改,但我不知道如何更改。我尝试过使用异步:

c1.addActionListener(new ActionListener()
{
    @Override
    public void actionPerformed(ActionEvent e) {
        new SwingWorker<Void, Void>() {
            @Override
            protected Void doInBackground() throws Exception {
                JButton button = desgin.makeButton(desgin.startFrame, 100, 100, 180, 50, json.getLanguage(languageMenu())[3]);
                JButton jButton = desgin.makeButton(desgin.startFrame, 100, 180, 180, 50, json.getLanguage(languageMenu())[4]);
                    return null;
                }

            @Override
            protected void done() {
                System.out.println("Done");
            }

        }.execute();    
    }
});
c1.addActionListener(新ActionListener()
{
@凌驾
已执行的公共无效操作(操作事件e){
新SwingWorker(){
@凌驾
受保护的Void doInBackground()引发异常{
JButton button=desgin.makeButton(desgin.startFrame,100100180,50,json.getLanguage(languageMenu())[3]);
JButton JButton=desgin.makeButton(desgin.startFrame,10018018050,json.getLanguage(languageMenu())[4]);
返回null;
}
@凌驾
受保护的void done(){
系统输出打印项次(“完成”);
}
}.execute();
}
});

但它不起作用。我做错了什么?

您可以在actionListener内部使用
JButton的
'setText()'
方法。您不应该每次都创建新按钮。

“java swing问题”是一个糟糕的标题。Java和Swing部分是多余的,因为添加了这些标记。”“问题”是如此模糊,以至于缩小问题的范围毫无用处,而且可以说,每个问题都是因为一个“问题”。最好是一个描述性的标题,比如“从动作侦听器设置按钮文本”。即描述性!