Выпуск Combobox и JButton - PullRequest
       16

Выпуск Combobox и JButton

1 голос
/ 23 августа 2011

Сегодня я играл с графическим интерфейсом и пытался добавить к нему различные элементы,

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
        }

   }

Когда я нажимаю jButton1, он делает то, что я хочу, и когда я выбираю «Cat» в выпадающем списке, он делает то, что я хочу, но только когда я нажимаю jButton1, а не когда я выбираю cat, он дает мне следующая ошибка

javax.swing.JButton не может быть приведен к javax.swing.JComboBox

Любые идеи, очевидно, как-то связаны с кодом comboxbox, и когда я удаляю код из JCombobox вниз, ошибка не появляется.

Любая помощь была бы хороша, а не домашняя работа, просто возиться и посмотреть, смогу ли я узнать что-то новое

1 Ответ

5 голосов
/ 23 августа 2011

Прежде всего, не сравнивайте строки, используя ==, используйте метод equals. То есть изменить

petName == "Cat"

до

petName.equals("Cat")

(== сравнивает ссылки, а не объекты, на которые ссылаются ссылки)

Похожие вопросы:


Что касается вопроса "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
    }
}

(или просто return из метода, как только вы закончите с Do something, связанным с JButton.)

...