2014-02-17 3 views
0

레이아웃에이 JTextFields를 추가하는 데 문제가 있습니다. 표시되는 유일한 JTextField는 18 대신 1입니다. 제 계획은 20 개의 JTextField를 레이아웃에 배치하는 것입니다. 이 20 개의 텍스트 필드를 사용하면 임의의 x + y 값과 레이아웃의 임의 위치를 ​​갖게됩니다. 다음은 내 코드입니다 :레이아웃에 자체를 추가하는 for 루프의 JTextField 배열

import java.util.Random; 
import javax.swing.JFrame; 
import javax.swing.JTextField; 

public class JtextArray extends JFrame 
{  
    JTextField[] allField = new JTextField [20]; 

    Random rand = new Random(); 
    int x = rand.nextInt(100);int y = rand.nextInt(100); 
    int xpost = rand.nextInt(300); int ypost = rand.nextInt(150); 

    JtextArray(){ 
    super("dsd"); 
    setLayout(null); 
    for(int x = 0;x<=18;x++){ 
     System.out.println(x); 
     allField[x] = new JTextField(String.format("  %s + %s", x , y)); 
     allField[x].setBounds(xpost, ypost, 100, 30); 
     add(allField[x]); 
    } 
    }} 

내 메인 클래스

import javax.swing.JFrame; 

public class ArraySample extends JFrame{ 
    public static void main(String[] args){ 
     JtextArray object = new JtextArray(); 
     object.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     object.setSize(400,400); 
     object.setVisible(true); 

    } 
} 

답변

2

당신의 텍스트 필드가 동일한 좌표를 가지고!

for 루프 내에 rand.nextInt을 사용하십시오.

+0

감사합니다. 이미 3 시간 동안이 문제로 고생했습니다. :)) –