Я пытаюсь создать следующий графический интерфейс в Java Swing.Проведя некоторые исследования, я обнаружил, что Grid Bag Layout был самым гибким и «лучшим» менеджером для использования.Проблема в том, что у меня есть некоторые проблемы с этим, и я не могу понять это.
Это макет, который я хочу создать:
Это действительно просто, но это то, что я хочу.Я хочу начать с простого.
Я начал с заголовка и только с первых кнопок, но вот что произошло:
Название в порядке, но кнопки растянуты до упора.Конечно, это из-за: gc.fill = GridBagConstraints.HORIZONTAL
, но этого хочется, но не до конца.возможно 1/6 кадра.
В любом случае, это мой код:
public class MainFrame extends JFrame {
private XJLabel jlNaam, welcome;
private XJTextField jtfNaam;
private XJButton jbOk;
private XJButton jbOk2;
public MainFrame() {
setTitle("TITLE");
setSize(600, 400);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
welcome = new XJLabel("TITLE!", 30);
welcome.setHorizontalAlignment(SwingConstants.CENTER);
jbOk = new XJButton("ok");
jbOk2 = new XJButton("ok2");
GridBagConstraints gc = new GridBagConstraints();
gc.fill = GridBagConstraints.HORIZONTAL;
gc.insets = new Insets(10, 10, 10, 10);
gc.anchor = GridBagConstraints.FIRST_LINE_START;
gc.gridy = 0;
gc.gridx = 0;
gc.weighty = 1;
gc.weightx = 3;
panel.add(welcome, gc);
gc.gridy = 1;
gc.gridx = 0;
gc.weighty = 1;
gc.weightx = 1;
panel.add(jbOk, gc);
gc.gridy = 2;
gc.gridx = 0;
gc.weighty = 1;
gc.weightx = 1;
panel.add(jbOk2, gc);
add(panel);
setVisible(true);
}
}
Классы "X" не являются чем-то особенным, просто они делают его немного лучше.
В любом случае, есть кто-нибудь, кто может мне помочь с этим?Я не хочу, чтобы выписывался полный графический интерфейс, но указатель в правильном направлении был бы великолепен!И если могут быть лучшие способы сделать это, пожалуйста, скажите мне.Обратите внимание: я в школе, поэтому не разрешено использовать сторонних менеджеров по верстке.Так что я должен повесить на стандартные ...