2012-10-02 5 views
2

저는 프로그램에서 일하고 있는데 for 루프를 사용하여 GUI 구성 요소를 반복 할 수있는 앱을 만들고 싶습니다. 카드 레이아웃을 사용하여이 작업을 수행했으나 제대로 작동하지만 카드 레이아웃을 사용하지 않고 컨테이너와 JPanel을 사용하면 GUI 구성 요소가 이전 구성 요소와 겹칩니다. 나에게 힌트를 주거나 코드가 잘못된 부분을 알려주십시오. 사전에 귀하의 조언과 시간을 보내 주셔서 감사합니다. 당신은 nullcc 패널의 레이아웃을 설정 한gui 구성 요소를 동적으로 추가 하시겠습니까?

class form extends JFrame implements ActionListener { 

    JTextArea text; 
    static int openFrameCount = 0; 
    public form(){ 
      super("Insert Form"); 
     Container panel=getContentPane(); 
     JPanel cc = new JPanel(); 
     cc.setLayout(null); 
     for(int i=1;i<=2;i++){ 
     JLabel label1=new JLabel(" Question"+(++openFrameCount)); 

     label1.setBounds(15, 40, 185, 50); 
     cc.add(label1); 
     text=new JTextArea(); 
       text.setLineWrap(true); 
     text.setWrapStyleWord(true); 
     text.setPreferredSize(new Dimension(750,50)); 
     text.setBounds(80, 60,750,50); 
     cc.add(text); 
     JLabel symbol=new JLabel("Selection for Option?"); 
     symbol.setBounds(100, 120,850,60); 
cc.add(symbol); 
    ButtonGroup group = new ButtonGroup(); 
    JRadioButton rbut=new JRadioButton("Radio Button for option"); 

     rbut.setBounds(300, 120,300,60); 
     JCheckBox cbox=new JCheckBox("Check Box for option"); 
     cc.add(rbut); 
     cbox.setBounds(650, 120,350,60); 
     cc.add(cbox); 
     group.add(rbut); 
     group.add(cbox); 

      cc.revalidate(); 
validate(); 


     panel.add(cc); 
     } 
    } 

답변

2

, 좋은 생각이 아니다 :

여기에 내 응용 프로그램의 코드입니다. 그런 다음 setBounds(x, y, width, height)을 사용하여 추가하는 구성 요소의 위치와 크기를 설정하면 물론 중복됩니다.

귀하의 필요에 맞는 레이아웃 관리자를 사용해보십시오. 실제로 그렇게해야 할 강력한 이유가없는 한, null로 설정하지 마십시오.

+0

충고에 감사드립니다. 흐름 레이아웃과 카드 레이아웃으로 레이아웃을 설정하여 작업했습니다. – janat

관련 문제