Программисты JAVA общаются здесь
Anonymous
GridBagLayout Gridwidth = 2 не работает для второго JButton
Сообщение
Anonymous » 02 авг 2024, 15:11
Я пытаюсь сделать ширину второй ячейки равной 2, но по какой-то странной причине GridBagLayout делает ширину первой ячейки равной 2 вместо второй ячейки. Как это исправить?
Вот мой код:
Код: Выделить всё
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.*;
public class LearnGridBagLayout {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(800,600);
JPanel panel = new JPanel();
GridBagLayout gridbaglayout = new GridBagLayout();
panel.setLayout(gridbaglayout);
frame.setContentPane(panel);
JButton button = new JButton("Hello World!");
GridBagConstraints gridbagconstraints = new GridBagConstraints();
gridbagconstraints.fill = GridBagConstraints.BOTH;
gridbagconstraints.weightx = 1;
gridbagconstraints.weighty = 1;
gridbagconstraints.gridx = 0;
gridbagconstraints.gridy = 0;
gridbagconstraints.gridwidth = 1;
gridbagconstraints.gridheight = 1;
panel.add(button,gridbagconstraints);
JButton input = new JButton();
GridBagConstraints gridbagconstraints2 = new GridBagConstraints();
gridbagconstraints2.fill = GridBagConstraints.BOTH;
gridbagconstraints2.weightx = 1;
gridbagconstraints2.weighty = 1;
gridbagconstraints2.gridwidth=2;
gridbagconstraints2.gridheight=1;
gridbagconstraints2.gridx = 1;
gridbagconstraints2.gridy=0;
panel.add(input,gridbagconstraints2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Я пытаюсь заставить обе ячейки заполнить всю ширину, а вторая ячейка должна иметь длину ширины 2.
Подробнее здесь:
https://stackoverflow.com/questions/788 ... nd-jbutton
1722600680
Anonymous
Я пытаюсь сделать ширину второй ячейки равной 2, но по какой-то странной причине GridBagLayout делает ширину первой ячейки равной 2 вместо второй ячейки. Как это исправить? Вот мой код: [code]import java.awt.GridBagLayout; import java.awt.GridBagConstraints; import javax.swing.*; public class LearnGridBagLayout { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(800,600); JPanel panel = new JPanel(); GridBagLayout gridbaglayout = new GridBagLayout(); panel.setLayout(gridbaglayout); frame.setContentPane(panel); JButton button = new JButton("Hello World!"); GridBagConstraints gridbagconstraints = new GridBagConstraints(); gridbagconstraints.fill = GridBagConstraints.BOTH; gridbagconstraints.weightx = 1; gridbagconstraints.weighty = 1; gridbagconstraints.gridx = 0; gridbagconstraints.gridy = 0; gridbagconstraints.gridwidth = 1; gridbagconstraints.gridheight = 1; panel.add(button,gridbagconstraints); JButton input = new JButton(); GridBagConstraints gridbagconstraints2 = new GridBagConstraints(); gridbagconstraints2.fill = GridBagConstraints.BOTH; gridbagconstraints2.weightx = 1; gridbagconstraints2.weighty = 1; gridbagconstraints2.gridwidth=2; gridbagconstraints2.gridheight=1; gridbagconstraints2.gridx = 1; gridbagconstraints2.gridy=0; panel.add(input,gridbagconstraints2); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } [/code] Я пытаюсь заставить обе ячейки заполнить всю ширину, а вторая ячейка должна иметь длину ширины 2. Подробнее здесь: [url]https://stackoverflow.com/questions/78825168/gridbaglayout-gridwidth-2-not-working-for-second-jbutton[/url]