2010-11-22 4 views
1

JPanelmyPanel입니다. 나는 일련의 JButton을 만들고 add()myPanel에 만듭니다. 생성 및 추가 루프가 끝날 때 myPanel.validate()으로 전화합니다. 버튼이 나타납니다.JPanel에 add()를 지정하면 크기가 깨집니다.

문제는 패널 크기에 영향을줍니다. 선택한 레이아웃 관리자에 관계없이 버튼은 항상 같은 줄에 추가됩니다 (아래에 더 많은 공간이 있더라도).

나는 myPanel의 최대 크기를 설정하고 각 add() 이후에 크기를 설정하려고했습니다. 내가 무엇을 하든지, 그 후 validate(), 패널이 날아가고 내 애플리케이션의 GUI가 망가져있다.

아이디어가 있으십니까?

+0

1. setLayout()을 사용하고 2. add (Component 구성 요소, Constraint 제약 조건)에 제약 조건 (GridBagLayout)을 추가 했습니까? –

답변

1

내가 먼저 인 JPanel에 적절한 사이즈를 설정합니다 :

myPanel.setPreferredSize(new Dimension(X, Y)); 

는이 차원 내의 내용에 맞게 시도하는 방법 레이아웃 매니저를 말할 것이다.

소스 코드를 보지 않아도 그 이상을 추가 할 수 없습니다.

2

일련의 JButton을 만들고 myPanel에 추가()합니다. 단추는 항상 아래에 더 많은 공간이 있어도 같은 줄에 추가됩니다.

자동 레이아웃 기능을 제공하는 기본 레이아웃 관리자는 없습니다. 랩핑을 _ 생시키는 f}을 지정해야합니다. 이러한 경우에는 GridLayout 또는 GridBagLayout을 사용할 수 있습니다.

또는이 목적으로 작성된 Wrap Layout을 사용해보십시오.

관련 문제