2013-05-08 3 views
0

북쪽과 가운데가 수평 인 프레임에 어떻게 버튼을 만들 수 있습니까? (즉, 모든 너비를 차지하지 않음)?버튼의 위치를 ​​지정하는 방법은 무엇입니까?

+0

예 이것이 스윙입니다. 우리가 원했던 것처럼 단추의 위치를 ​​지정하는 다음 문장 이외의 다른 방법이 있습니까? fram.addContentPane(). add (BorderLayout.North, button); – Omid7

답변

2

BorderLayout은 컨테이너의 너비를 채우기 위해 NORTH 위치의 구성 요소를 확장합니다. 따라서 구성 요소의 기본 크기 (이 경우 JButton)를 고려한 다른 컨테이너에 배치해야합니다. 당신은 JPanel의 기본 FlowLayout을 사용할 수 있습니다 :이 같은

JPanel northPanel = new JPanel(); 
JButton button = new JButton("OK"); 
frame.add(northPanel, BorderLayout.NORTH); 
1

시도 솔루션 :

public class MyFrame extends JFrame{ 
    public MyFrame(){ 
     super(); 
     JPanel contentPane = new JPanel(new BorderLayout()); 
     JButton myButton = new JButton("MyButton"); 
     JPanel myPanel = new JPanel(new FlowLayout.Center)); 
     myPanel.add(myButton); 
     contentPane.add(myPanel,BorderLayout.CENTER); 
     setContentPanel(contentPane); 
    } 

}

당신이 인 JPanel에 버튼을 포장 할 때 그것은 폭 저장하고, 중앙 배치 장소를의 중앙

+0

그래, 거기에 2 misspelings : BorderLaylout -> BorderLayout 및 새 Jbutton (-> 새 JButton ( –

+0

고마워, 그것에 대해 생각하지 않았다.) 그것을 수정, 지금은 괜찮을 것 같다 –

+0

좋은 편집. 소음이 삭제되었습니다. :) –

관련 문제