내가 작업중인 프로젝트의 사이드 바를 그리려고합니다. BoxLayout의 한계에 좌절감을 느끼기 때문에 GridBagLayout을 사용하기로했습니다. 누군가 내가 뭘 잘못하고 있는지 설명하는 데 도움이 될 수 있습니다. 내가 원하는 것은 사이드 바에 두 개의 JPanel을 포함시키는 것이다. 내가 가지고있는 코드는 꼭대기가 아닌 사이드 바의 중간에 위치합니다. 누군가 내가 여기서 누락 된 것을 설명 할 수 있을까요? 나는 장소가GridBagLayout이있는 Java 사이드 바
JPanel sideBar = new JPanel();
sideBar.setBounds(0, 0, 180, (int)this.getBounds().getHeight());
sideBar.setLayout(new GridBagLayout());
JPanel optionBar = new JPanel();
optionBar.setBorder(BorderFactory.createTitledBorder("Box1"));
optionBar.setLayout(new GridBagLayout());
JPanel buttonBar = new JPanel();
buttonBar.setBorder(BorderFactory.createTitledBorder("Options"));
buttonBar.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.ipady = 5;
c.insets = new Insets(10,0,0,0);
JButton simplify;
simplify = new JButton("Open");
simplify.addActionListener(this.listener);
c.gridy = 0;
buttonBar.add(simplify, c);
JButton mergeButton;
mergeButton = new JButton("Close");
mergeButton.addActionListener(this.listener);
c.gridy = 1;
buttonBar.add(mergeButton, c);
JButton splitButton;
splitButton = new JButton("Merge");
splitButton.addActionListener(this.listener);
c.gridy = 2;
buttonBar.add(splitButton, c);
c.insets = new Insets(0,5,5,5);
c.gridy = 0;
sideBar.add(optionBar, c);
c.gridy = 1;
c.ipadx = 70;
sideBar.add(buttonBar, c);
return(sideBar);