Я очень новичок в Java Swing, и у меня довольно много проблем с созданием приятного макета. Я проверил Google и даже другие ответы на этом веб-сайте, но никакая информация, которую я не нашел, похоже, не решает проблему. Вот результат моих стараний:
Как видите, метка, текстовое поле и кнопка не выровнены. Моя цель состоит в том, чтобы все они имели одинаковую левую границу, а кнопка и текстовое поле имели одинаковую правую границу, причем эти левые и правые границы находились на одинаковом расстоянии от левой и правой стороны. стороны моего окна.
Вот важные части моего кода:
public void run()
{
JFrame frame = new JFrame("Arduino Server");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
InstancePanel = new ServerGUIPanel();
frame.getContentPane().add(InstancePanel);
frame.pack();
frame.setVisible(true);
}
И в ServerGIPanel.java:
public ServerGUIPanel()
{
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
setPreferredSize(new Dimension(500, 500));
setBorder(new EmptyBorder(10, 10, 10, 10));
StatusLabel = new JLabel("STATUS: BOOTUP");
add(StatusLabel);
PortField = new JTextField();
PortField.setPreferredSize(new Dimension(5000, 20));
PortField.setMaximumSize(PortField.getPreferredSize());
PortField.setActionCommand("PortChanged");
add(PortField);
ConnectionButton = new JButton();
ConnectionButton.setPreferredSize(new Dimension(5000, 20));
ConnectionButton.setMaximumSize(ConnectionButton.getPreferredSize());
ConnectionButton.setActionCommand("ConnectionClicked");
add(ConnectionButton);
}
У кого-нибудь есть простое решение для этого? Что я здесь делаю неправильно?
Большое тебе спасибо!
--Джорджес Оутс Ларсен