在JLabel阵列中移动标签

时间:2015-03-16 12:23:34

标签: java swing jlabel

我想在我的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 

    }
}

对不起,如果我的问题很简单,但我是初学者

1 个答案:

答案 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精确排序数字。