使用int []填充JComboBox

时间:2014-01-06 22:06:54

标签: java arrays swing int jcombobox

是否可以使用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

2 个答案:

答案 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类型。

希望这会有所帮助。