【问题标题】:ActionListener on JButtonJButton 上的 ActionListener
【发布时间】:2020-11-01 17:07:54
【问题描述】:

是否可以在不同的 Button 上添加不同的 ActionListener? 我有一个问题,我有一个 JComboBox 来设置我的游戏难度级别和一个应该开始游戏的按钮。

所以问题是我怎样才能让我能够选择难度级别,然后通过单击另一个按钮开始游戏

【问题讨论】:

    标签: java swing user-interface button actionlistener


    【解决方案1】:

    你不需要一个“不同的ActionListener”,你只需要从JButton的ActionListener里面的JComboBox获取结果,然后用这个结果来判断程序应该往哪个方向走。

    myButton.addActionListener(e -> {
        // get combo selection -- assuming that it holds Strings. Better if it held enums though
        String selection = (String) myCombo.getSelectedItem();
        
        // here use if blocks or a switch statement decide what to do
        if (selection.equals(foo)) {
            //....
        } else if (selection.equals(bar)) {
            //...
        } else if.....
    });
    

    我什至不会向 JComboBox 添加侦听器,因为该操作只会在用户选择按钮时开始。

    【讨论】:

    • 但我必须知道用户在 JComboBox 中选择了什么。这很重要,因为我需要另一个班级的答案
    • @Jens:我在上面的代码中向您展示了如何做到这一点。如果您需要进一步的帮助,必须显示您的相关代码,并显示您遇到的问题。我们只能根据您向我们展示的内容提供帮助,因为我们看不到未显示的代码。最好在您的问题中发布minimal reproducible example 程序。详情请阅读链接。
    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2012-12-26
    相关资源
    最近更新 更多