2017-01-10 19 views
-1

사용자가 텍스트를 입력 할 수있는 할 일 목록을 만들려는 시도는 JCheckBox입니다.JFrame이있는 열에서 사용자 입력 텍스트를 어떻게 표시 할 수 있습니까?

그러나 아무것도

getContentPane().add(checkBox3,BorderLayout.EAST);. 

내 이상적인 결과의 마지막 부분없이 JFrame에 나타 문제가 이런 식이다.

□Cleaning 
□Have Dinner with friend 

어떻게 해결할 수 있습니까? 해당 코드의 파일이 첨부되어 있으므로 확인하십시오.

enter image description here

+0

잘못된 방법으로 구성 요소를 삽입했습니다. JPanel을 JFrame에 삽입하는 것이 좋습니다. 그리고 나서 체크 박스 구성 요소를 JPanel에 추가하십시오 – Andrew

답변

0

은 샘플 코드를 따라 ....

public class FrameTest extends JFrame{ 

private JCheckBox jb1; 
private JCheckBox jb2; 
private JCheckBox jb3; 
private JCheckBox jb4; 
private JCheckBox jb5; 
private JPanel jPanel1; 

/** 
* Creates new form CheckBoxDinamico 
*/ 
public FrameTest() { 

    setLayout(new GridBagLayout()); 
    setPreferredSize(new Dimension(800, 600)); 
    jPanel1 = new JPanel(); 
    jPanel1.setLayout(new FlowLayout()); 
    add(jPanel1); 

    jb1 = new JCheckBox("Cleaning"); 
    jb2 = new JCheckBox("Have dinner with friend"); 
    jb3 = new JCheckBox("Go sleep by 11pm"); 
    jb4 = new JCheckBox("Wake Up by 6am"); 
    jb5 = new JCheckBox(); 

    try { 

     if(jb5.getText() == null || "".equals(jb5.getText())){ 
      jb5.setText(new Scanner(System.in).nextLine()); 
     } 
     jPanel1.add(jb1); 
     jPanel1.add(jb2); 
     jPanel1.add(jb3); 
     jPanel1.add(jb4); 
     jPanel1.add(jb5); 
    } catch (Exception e) { 
    } 
    pack(); 
} 

public static void main(String args[]) { 
    new FrameTest().setVisible(true); 
}  

}

는 FlowLayout의에 인 JPanel의 레이아웃을 설정

+0

친절 감사합니다. 나는 이것을 쓰려고 노력할 것이다. – Shuta

+0

환영합니다. 문안 인사. – paulonep

0

당신은 당신이 경우 잘못된 BorderLayout를를 사용하는 것과 다음 요소를 추가, GridLayout과에 JPanel의 레이아웃을 설정했습니다.

p.setLayout(new FlowLayout()); 

그래서 같은 요소를 추가 :

getContentPane().add(checkBox1); 
getContentPane().add(checkBox2); 
getContentPane().add(checkBox3); 
+0

도와 주셔서 대단히 감사합니다. 쓰려고합니다! – Shuta