2014-02-18 2 views
0

지금은 잘 해왔지만 지금은 그럴 수 없습니다. 위의 JTextArea와 아래에있는 두 개의 JLabel이있는 JPanel을 생성하려고하지만 내 JLabel은 JTextArea의 왼쪽에서 끝나고 다른 하나는 나타나지 않습니다.JPanels : JTextArea가있는 것 하나와 JLabel이있는 것

여기에 (정말 디스플레이 stuff- 단지 필러 죄송합니다) 내 코드입니다 :

public JPanel contentPane() { 
    JPanel something = new JPanel(); 

    String information = "Please"; 

    info = new JTextArea(information, 4, 30); 
    info.setEditable(false); 
    info.setLineWrap(true); 
    info.setWrapStyleWord(true); 

    JPanel one = new JPanel(new BorderLayout()); 
    one.setBackground(Color.WHITE); 
    one.setLocation(10, 10); 
    one.setSize(50, 50); 
    one.add(info, BorderLayout.CENTER); 
    something.add(one, BorderLayout.NORTH); 

    JPanel two = new JPanel(new BorderLayout()); 
    two.setBackground(null); 
    two.setLocation(220, 10); 
    two.setSize(50, 50); 
    two.add(new JLabel("Please work"), BorderLayout.EAST); 
    two.add(new JLabel("Oh gosh, please"), BorderLayout.WEST); 
    something.add(two, BorderLayout.SOUTH); 

    something.setOpaque(true); 
    return something; 
} 

public static void GUI() { 
    JFrame frame = new JFrame("You Guessed It!"); 

    DisplayStudent panel = new DisplayStudent(); 
    frame.setContentPane(panel.contentPane()); 

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(400, 150); 
    frame.setVisible(true); 
} 

하시기 바랍니다 및 도움이되는 시간이 걸리는 사람에게 감사합니다.

+0

사용중인 JDK 버전은 무엇입니까? – masterX244

+0

@ masterX244 7.4 믿습니다. – Zanpo

답변

6

당신에게 뭔가를 만들 때, 당신은 어떤 레이아웃 매니저를 지정하지 않지만, 나중에에 뭔가 에 사용 BorderLayout를 상수를 추가하려고 - 기본 레이아웃 매니저 때문에, 작동하지 않을 것이다 JPanel은 FlowLayout입니다.

대신 사용해보십시오.

JPanel something = new JPanel(new BorderLayout()); 
+0

또는 GridLayout()을 사용하여 모든 요소를 ​​그리드에 배치 할 수 있습니다. http://docs.oracle.com/javase/tutorial/uiswing/layout/grid.html – sparks

+0

GridLayout은 패널의 모든 구성 요소를 정확히 같은 크기로 유지하려고합니다. 크기를 혼합하기 시작하고 다양한 역학 관계를 갖기 시작하면 (예 : 일부는 수평 확장, 다른 수직 배치, NORTH 고정, 일부 확장 등) GridBagLayout으로 변경해야합니다. GridBagLayout은 훨씬 "일반 "레이아웃 관리자를 사용하고 있습니다. –

+0

@Markus Millfjord 이제는 작동했지만, 이제는 내 JLabel이 중앙에서 동쪽과 서쪽에 정중하게 나타납니다. 내가 뭘 놓치고 있니? – Zanpo