我想在我的JLabel数组中移动我的元素 标签值取决于TextField值,例如,如果我输入10我的标签显示10,如果我输入10然后12我的标签显示10 12完美地工作 我想让它排序,例如,如果我输入10然后6个标签显示6然后10个不起作用
int j;
for(j=0;j<Items;j++) {
if(Integer.parseInt(labels[j].getText())
> Integer.parseInt(uatxt[1].getText()))
break;
for(int k=Items;k>j;k--){
labels[k]=labels[k-1];
labels[j]= new JLabel(uatxt[1].getText());
labels[j].setBounds(40*j, 150, 130, 30);
p.add(labels[j]);
p.revalidate();
p.repaint();
Items++;
//labels is my array
//Items is number of elements in array
// p is panel
//uatxt[1] is my TextField
}
}
对不起,如果我的问题很简单,但我是初学者
答案 0 :(得分:1)
不要在图形中做任何事情,这个问题是一个逻辑问题。
阅读该字段后,将它们标记为一个数组:
String text = field.getText();
ArrayList<Integer> nums = new ArrayList<Integer>();
Scanner scan = new Scanner(text);
while(scan.hasNextInt())
nums.add(scan.nextInt());
Collections.sort(nums)
在这里,您可以使用ArrayList
精确排序数字。