2015-03-16 2 views
0

Я хочу переместить мои элементы в свой массив JLabel значения меток зависят от значений TextField, например, если я ввел 10, мои метки показывают 10, если я ввел 10, тогда 12 моих ярлыков показывают 10 12, который идеально работает Я хочу сделать это сортируется, например, если я вошел в 10, то 6 метки показывают 6, то 10, что не работаетПеремещение метки в массиве JLabel в swing

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 

    } 
} 

извините, если мой вопрос тривиален, но i`m новичок в колебании

+0

Непонятно, что вы подразумеваете под своим вопросом. Вы хотите изменить текст ярлыка JLabel с TextField? Вы также должны перестроить свой код, чтобы его было легче читать, используя правильные отступы. – qtips

+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.