使用 int[] 填充 JComboBox
Posted
技术标签:
【中文标题】使用 int[] 填充 JComboBox【英文标题】:Populate a JComboBox with an int[] 【发布时间】:2014-01-24 11:03:17 【问题描述】:是否可以?我正在编写一个代码,它将使用一个填充了年份(整数)的 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?
【问题讨论】:
【参考方案1】: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);
【讨论】:
【参考方案2】:如果您只想使用整数,另一种选择:
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 类型。
希望这会有所帮助。
【讨论】:
以上是关于使用 int[] 填充 JComboBox的主要内容,如果未能解决你的问题,请参考以下文章
int_leastN_t 和 int_fastN_t 可以有填充位吗?
boost::lexical_cast int 用零填充字符串