Ich möchte wissen, ob es möglich ist, die Größe von JButton
Komponenten in einem GridBagLayout
zu setzen, möchte ich meine Schaltflächen "Start" und "Quit" untereinander, und ich möchte sie machen größer, die Größe ist irrelevant, ich möchte das allgemeine Verfahren kennen.Making JButtons gleiche Größe mit GridBagLayout
Ich habe verschiedene Dinge ausprobiert, die ich im Internet gefunden habe (mit anderen Layouts), aber es endete einfach mit mehr Fehlern.
public class Display implements Runnable
{
public Display()
{
}
@Override
public void run() {
JFrame frame = new JFrame();
frame.setTitle("Title");
frame.setPreferredSize(new Dimension(500,700));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createComponents(frame.getContentPane());
frame.pack();
frame.setVisible(true);
}
private void createComponents(Container cont)
{
GridBagLayout pane = new GridBagLayout();
JButton button1 = new JButton("Start");
JButton button2 = new JButton("Quit");
button1.setSize(new Dimension(200,200));
button1.setAlignmentX(Component.CENTER_ALIGNMENT);
button2.setAlignmentX(Component.CENTER_ALIGNMENT);
cont.setLayout(pane);
cont.add(button1);
cont.add(button2);
}
public static void main(String[] args)
{
Display d = new Display();
SwingUtilities.invokeLater(d);
}
}
Verwenden Sie GridLayout, wenn die Komponenten alle die gleiche Größe haben sollen. Denken Sie daran, dass Sie JPanels verschachteln können, die jeweils einen eigenen Layout-Manager verwenden. –
'GridBagConstraints # fill'? – MadProgrammer
Das ist ein großer Rahmen für nur zwei Tasten. Müssen mehr Komponenten dorthin gehen? Bereitstellung von ASCII-Grafiken oder einer einfachen Zeichnung des * beabsichtigten * Layouts der (gesamten) GUI bei minimaler Größe und wenn sie veränderbar ist, mit mehr Breite und Höhe. 'button1.setSize (neue Dimension (200,200));' Ein Layout-Manager wird eher die bevorzugte Größe als die Größe berücksichtigen, aber setze auch diese nicht, da die bevorzugte Größe nicht besser als eine Schätzung ist. –