簡體   English   中英

在不同的jcombobox中選擇后如何設置jcombobox的其他字符串數組?

[英]How to set different string array of a jcombobox after selection in a different jcombobox?

我做了這樣的圖形用戶界面:

String[] days29 = {"1",....."29"};
String[] days30 = {"1",....."30"};
String[] days31 = {"1",....."31"};
String[] mths = {"January",..."December"};

JComboBox months = new JComboBox(mths);
JComboBox days = new JComboBox();

public daysAdjuster(){
    if(months.getSelectedItem().equals.("January")){
        days = new JComboBox(days31);
    }else if(months.getSelectedItem().equals.("February")){
        days = new JComboBox(days29);
    }else if(months.getSelectedItem().equals.("April")){
        days = new JComboBox(days30);
    }

public static void main(String[] args){
// JFrame codes here
daysAdjuster();
}

我想做的是,如果我在JComboBox“ months”中選擇31天的月份,那么JComboBox“ days”將使用“ days31”字符串數組輸出項目,如果我選擇30天的月份,它將輸出字符串。在我的JComboBox數組中為“ days30”。

但是,即使我選擇了其他月份,我得到的唯一信息是[[days = new JComboBox(days31)]]。 例如,如果我選擇Febraury,它仍然顯示帶有字符串“ days31”的“ days” JComboBox。 顯然,我在daysAdjuster中犯了一個錯誤,或者只是使用了錯誤的方式,請更正我的錯誤,無法解決。 提前致謝!

筆記:

  1. 一月是jcombobox“月”中的默認選中項

  2. 不要在if-else語句和字符串數組聲明中犯任何拼寫錯誤(以防在我的示例中發現錯誤的拼寫)

  3. 在jframe中可以看到“ months”和“ days” jcombobox,從來沒有犯過我現在正在創建的gui中的jcomboboxes的錯誤。

我可以在這里指出幾點:

  1. 你有一個額外的. 之后equals if條件。
  2. 始終盡可能使用預定義的數組。 在這里,您應該使用預定義數組幾個月,如下所示:

    String[] mths = (new DateFormatSymbols()).getMonths();

  3. 不必每次都重新初始化“天”組合框,而要使用模型並更改其值。

  4. 參考文獻:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM