여기에서이 문제에 대해 많이 읽었습니다 ...하지만이 문제를 해결하는 방법을 얻지 못하는 것 같습니다. 시도한 모든 해결책이 작동하지 않습니다.다른 GridBagLayout 정렬 바보
하지만 처음부터 시작해 보겠습니다. 저는 스윙과 인터페이스를 만들고 모듈화하려고합니다. 왼쪽의 메인 메뉴를위한 클래스 (JPanel 확장)가 있습니다. 메뉴는 GridBagLayout에 여러 개의 버튼이 있습니다.
하지만이 layyout을 창 (패널) 상단에 맞출 수 없습니다. Exampel : 패널의 맨 아래 텍스트 필드, 텍스트 필드 아래 버튼 등의 라벨
내 코드를 참조하십시오
public class LeftMenu extends JPanel {
public LeftMenu(){
GridBagLayout gbl_panel = new GridBagLayout();
gbl_panel.columnWidths = new int[] { 86, 0 };
gbl_panel.rowHeights = new int[] {32, 32, 32, 32, 32, 32, 32, 32, 32 };
gbl_panel.columnWeights = new double[] { 0.0, Double.MIN_VALUE };
gbl_panel.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0 };
setLayout(gbl_panel);
JLabel lblEnterTrunkId = new JLabel("Enter Trunk ID");
GridBagConstraints gbc_lblEnterTrunkId = new GridBagConstraints();
gbc_lblEnterTrunkId.fill = GridBagConstraints.HORIZONTAL;
gbc_lblEnterTrunkId.insets = new Insets(0, 0, 5, 0);
gbc_lblEnterTrunkId.gridx = 0;
gbc_lblEnterTrunkId.gridy = 0;
gbc_lblEnterTrunkId.anchor = GridBagConstraints.NORTH;
add(lblEnterTrunkId, gbc_lblEnterTrunkId);
}
}
가 텍스트 필드가 어떤 버튼이 뒤에 다음 상표. 그러나 이것들은 관련이 없다고 생각합니다 ... 만약 그들이 ... 레이블과 거의 같은 것 같습니다 (레이블이 아닙니다 ... 당신이 나를 얻은 것 같아요).
모든 가이드를 읽었습니다. , 모두 GridBagConstraint의 앵커를 가리키고 있습니다. 거기에 .... 있지만 작동하지 않습니다. 패널 중간에 놀랍도록 고맙습니다.
이 문제 않으면
: IST를 SplitPane의 LeftComponent으로 사용 패널 :public LeftMenu leftpanel = new LeftMenu();
splitPaneTrunks.setLeftComponent(leftpanel);
당신의 도움을 기대하겠습니다.
여기 내 옆 메뉴의 사진입니다 ... 가로로 가운데에 있습니다. 그것이해서는 안된다. 대신 GridBagLayout
를 사용
1) 더 도움이 빨리 들어는 [MCVE]을 게시하거나 [짧은, 콘도, 올바른 예 (http://www.sscce.org/). 2) ASCII 아트 또는 GUI의 * 의도 된 * 레이아웃의 간단한 그림을 최소한의 크기로 제공하고 크기를 조정할 수 있으면 더 많은 너비와 높이를 제공하십시오. –
swingx 라이브러리에서 HorizontalLayout을 보여줍니다. –