是否可以使用int []填充JComboBox?我正在编写一个代码,它将使用填充了多年的JComboBox(整数)。
我写的代码是:
int[] birthYear = new int[currentYear]; //currentYear is an int variable
int inc=1;
for(int i=0;i<currentYear;i++)
{
birthYear[i]= inc;
inc++;
}
birthYearBox = new JComboBox(birthYear); //this is the line in which the error occurs
我希望这些是ComboBox中的整数,以便我可以减去它们。我是否必须使用字符串填充ComboBox,然后在输入后使它们成为整数?或者有没有办法用int []?
实际填充ComboBox答案 0 :(得分:4)
JCombobox
是通用的,但Java泛型不支持基本类型(int
是基本类型)。
所以请改用Integer
数组:
Integer[] birthYear = new Integer[currentYear]; //currentYear is an int variable
int inc=1;
for(int i=0;i<currentYear;i++){
birthYear[i]= inc;
inc++;
}
JComboBox<Integer> birthYearBox = new JComboBox<>(birthYear);
答案 1 :(得分:0)
如果您只想使用整数,可以选择其中一种方法:
JComboBox<Integer> comboBox = new JComboBox<>();
comboBox.addItem(1);
comboBox.addItem(2);
否则,你也可以试试这个:
String[] birthYear = new String[currentYear]; //currentYear is an int variable
int inc=1;
for(int i=0;i<currentYear;i++)
{
birthYear[i]= inc + "";
inc++;
}
birthYearBox = new JComboBox(birthYear);
如果需要,可以使用Integer.praseInt("1")
将数字的字符串表示形式作为int类型。
希望这会有所帮助。