2012-05-06 2 views
0

У меня есть две коробки со списком. Первый содержит некоторый оператор (+, -, *, /), а второй содержит некоторое значение от 0 до 10. Когда пользователь выбирает (/) в первом поле со списком, я хочу, чтобы второе отображало значение от 2 до 10 вместо от 0 до 10.JComboBox item прослушиватель

Я попытался это:

String[] operators = {"+","-" ,"*", "/"}; 

String[] number = {"0","1","3"....."10"}; 

divisionModel= new DefaultComboBoxModel(new String[]{"2","3","4","5".."10"}); 



    operatorCombo = new JComboBox(operators); 

    numberCombo = new JComboBox(number); 


operatorCombo.addItemListener(new ItemListener() { 
    public void itemStateChanged(ItemEvent e) { 


    if (operatorCombo .getSelectedItem().equals("/")){ 

     numberCombo .setModel(divisionModel); 
    } 

моя проблема, когда я выбираю («/»), то numberCombo работает отлично и показать мне цифры от 2 до 10, но когда я нажимаю на другой оператор он все еще показывает мне числа от 2 до 10 вместо 0 до 10. Как я могу решить эту проблему ?! Благодаря

+2

!) В Swing нет 'ComboBox'. Вы имели в виду 'JComboBox'? Если да, скопируйте/вставьте имя. Если нет, не смешивайте компоненты Swing & AWT. 2) [Что вы пробовали?] (Http://www.whathaveyoutried.com/) Я имею в виду * кроме того * спрашивать случайных незнакомых людей в Интернете, чтобы сделать это за вас. –

+0

Извините, что я имею в виду JComboBox – lina

+0

divisionModel = new DefaultComboBoxModel (новый String [] {"2", "3" ....}); if (operatorCombo.getSelectedItem() == "/") { operatorCombo.setModel (divisionModel); – lina

ответ

2
// always compare objects using equals() 
if (operatorCombo.getSelectedItem().equals("/")) {.. 

Что касается обновления 2-го комбо, создать новую модель для него и вызвать setModel(ComboBoxModel).

+0

да Я сделал это и работаю отлично, когда я выбираю (/), но моя проблема заключается в том, что я выбираю другой оператор, например +, secondCombo, чтобы показать все число от 0 до 10, но он просто показывает от 2 до 10 – lina

+0

. Думаю, мне нужно еще после этого, если я не сделаю знаю, что мне написать ... – lina

+1

Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –

2

Вы можете посмотреть на этом example, который показывает, как выбор сделан в одном JComboBox может изменить внешний вид связанной JComboBox с использованием другого DefaultComboBoxModel.

Смежные вопросы