更改JComboBox的String数组,具体取决于另一个ComboBox中的另一个值。爪哇

时间:2018-11-12 13:16:34

标签: java arrays jcombobox

所以我想做的是创建一个组合框,当第一个组合框中的值更改时,在本例中为“ FlightNumber”。在同一窗口的另一个组合框中,将字符串数组更改为“ Baggage”,具体取决于在FlightNumber组合框中选择的值。

每次尝试执行此操作时,都会从下拉菜单中选择一个航班号,然后程序会挂起。

 private void jComboBox_flightNumberActionPerformed(java.awt.event.ActionEvent evt) {
    int number = Integer.parseInt((String)jComboBox_flightNumber.getSelectedItem());
    boolean found = false;
    int baggageSize = 0;
    int counter;
    System.out.println(this.flightList.size());
    System.out.println(number);
    for(counter = 0; counter < this.flightList.size() || !found; counter++){
        Flight flight = this.flightList.get(counter);
        if(flight.getFlightID() == number) { 
            found = true;
            baggageSize = flight.getBaggage();
            System.out.println(baggageSize);
        }else{
        found = false;
        }
    }

     String [] baggageLength = new String[baggageSize];
    for(int x = 0;counter < baggageLength.length; x++) { 
        baggageLength[counter] = Integer.toString((x+1));

    }

    this.baggageSize = baggageLength;

    jComboBox_baggage.setModel(new javax.swing.DefaultComboBoxModel<>(this.baggageSize));
    jComboBox_baggage.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jComboBox_baggageActionPerformed(evt);
        }
    });
}

0 个答案:

没有答案