私はこのようなものでGUIを作りました:
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 の「月」でデフォルトで選択されている項目です。
if-else ステートメントと文字列配列の宣言でスペルミスを犯したことはありません (私の例でスペルミスを見つけた場合に備えて)
「月」と「日」の jcombobox は jframe に表示されます。現在作成している GUI で jcombobox を間違えたことはありません。