首页 > 解决方案 > 根据另一个 ComboBox 中的另一个值更改 JComboBox 的字符串数组

问题描述

我正在尝试创建一个组合框,其中,当第一个组合框中的值发生更改时,在本例中为“FlightNumber”,以更改同一窗口中另一个组合框中的字符串数组,即“行李”取决于在 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);
        }
    });
}

标签: javaarraysswingjcombobox

解决方案


推荐阅读