У меня есть JPanel
, который разделен на 2 других отдельных JPanel
(хотя это в основном не имеет значения). С левой стороны у меня есть GridBagLayout
, который я организовал, чтобы иметь JLabel
наверху, и JTextArea
под ним, однако JTextArea
не непосредственно под JLabel
. Вместо этого есть это пустое пространство, и я не могу понять, почему он там или как его исправить. Я довольно новичок в Java в целом и GridBagLayout
, поэтому мне что-то не хватает, но я попробовал несколько вещей, чтобы заставить его работать. У меня есть код для этого ниже, а также визуальное представление того, что он делает. Любая помощь приветствуется.Почему у этого GridBagLayout неиспользуемое пустое пространство и как я могу избавиться от него?
КОД
//LEFT SIDE
GridBagConstraints leftGBC = new GridBagConstraints();
JPanel leftSide = new JPanel(new GridBagLayout());
leftSide.setBorder(new EmptyBorder(inset, inset, inset, inset));
Font titleFont = bb5.comfortaa.deriveFont(Font.PLAIN, 16f);
leftGBC.gridx = 0;
leftGBC.gridy = 0;
leftGBC.weightx = 1;
leftGBC.weighty = 1;
leftGBC.anchor = GridBagConstraints.NORTH;
JLabel leftTitle = new JLabel("Objective");
leftTitle.setFont(titleFont);
leftTitle.setBorder(BorderFactory.createMatteBorder(0, 0, 2, 0, Color.BLACK));
leftGBC.fill = GridBagConstraints.HORIZONTAL;
leftSide.add(leftTitle, leftGBC);
leftGBC.gridy = 1;
leftGBC.anchor = GridBagConstraints.NORTH;
JTextArea objectiveArea = new JTextArea(objectiveText);
objectiveArea.setBackground(leftTitle.getBackground());
objectiveArea.setEditable(false);
objectiveArea.setFocusable(false);
objectiveArea.setFont(bb5.samsung1.deriveFont(16f));
objectiveArea.setLineWrap(true);
objectiveArea.setWrapStyleWord(true);
leftSide.add(objectiveArea, leftGBC);
VISUAL
Да, это сработало! Спасибо за помощь! – Ryan