Combobox和JButton问题

use*_*714 1 java user-interface swing combobox jbutton

我今天一直在玩GUI,并尝试添加不同的元素,

public void actionPerformed(ActionEvent e)
    {
        if (e.getSource() == jButton1)                              
        {
            //Do Something
        }

        JComboBox cb = (JComboBox)e.getSource();
        String petName = (String)cb.getSelectedItem();

        if(petName == "Cat")
        {
            //Do Something
        }

   }
Run Code Online (Sandbox Code Playgroud)

当我点击jButton1它完成我想要它做什么,当我从组合框中选择"猫"它做我想要它做的,但只有当我点击jButton1而不是当我选择猫时它给了我以下错误

javax.swing.JButton无法强制转换为javax.swing.JComboBox

任何想法显然与comboxbox代码有关,当我从JCombobox中删除代码时,错误不会出现.

任何帮助都会很好,而不是家庭作业只是搞乱,看看我是否可以学习新东西

aio*_*obe 5

首先,不要使用比较字符串==,使用equals方法.也就是说,改变

petName == "Cat"
Run Code Online (Sandbox Code Playgroud)

petName.equals("Cat")
Run Code Online (Sandbox Code Playgroud)

(==比较引用,而不是引用引用的对象)

相关问题:


关于"JButton不能被投射到JComboBox" - 在我看来,你似乎只是忘了else那里.请尝试以下方法:

if (e.getSource() == jButton1) {
    //Do Something
} else {

    JComboBox cb = (JComboBox)e.getSource();
    String petName = (String)cb.getSelectedItem();

    if(petName == "Cat") {
        //Do Something
    }
}
Run Code Online (Sandbox Code Playgroud)

(或者return一旦完成与Do somethingJButton相关的操作,就完全从该方法开始.)