Я хочу, чтобы мой экран разбился на две части, поэтому я использовал BorderLayout с разделами Восток и Запад. У меня были проблемы с изменением размера, и я, в конце концов, узнал (см .: http://www.leepoint.net/notes-java/GUI/layouts/20borderlayout.html), что ширина не изменяется на панелях Востока и Запада, а высота не изменяется на панелях Севера и Юга, и оба изменены на панели Центра.Java Swing BorderLayout трудности с изменением размера
Тем не менее, я хочу, чтобы ширина и высота изменялись при изменении размера и имели две панели бок о бок. Я пробовал различные уровни гнездования, чтобы попытаться заставить его работать, но я не думаю, что он будет работать с BorderLayout.
Кажется, что это должно быть легко для менеджера компоновки по умолчанию, но, возможно, я должен попробовать другой макет (например, BoxLayout), чтобы добиться того, что я хочу?
Также здесь есть некоторый код, который дублирует эту проблему я говорю (попробуйте изменить размер окна):
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
public static void main(String[] args) {
JFrame window = new Main();
window.setVisible(true);
}
public Main() {
JButton east = new JButton("East");
JButton west = new JButton("West");
JPanel content = new JPanel();
content.setLayout(new BorderLayout());
content.add(east, BorderLayout.EAST);
content.add(west, BorderLayout.WEST);
setContentPane(content);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
}
Edit: Я не хочу, чтобы обе стороны быть равна, примерно 2: 1 соотношение это то, что я хочу.
Если вы хотите разбить его на две части. Почему вы не используете GridLayout? – Sednus