繁体   English   中英

用int填充JComboBox []

[英]Populate a JComboBox with an int[]

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

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);

如果您只想使用整数,则可以选择一种方法:

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

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM