Я пытаюсь создать довольно простое приложение с JSplitPane (которое разделено на JTabbedPane и JPanel) над панелью состояния. Я хочу использовать простой макет (например, BoxLayout, FlowLayout или BorderLayout), но я пробовал, и все они дают мне ту же ошибку. Я максимально упростил код, чтобы показать ошибку.BoxLayout Отображается неправильно
Ошибка в том, что в макете основного блока (рама) должны быть только две области: верхняя часть (с JSplitPane, которая имеет черную границу) и нижнюю часть (со строкой состояния JPanel). Однако, когда я добавляю строку состояния, в верхнем левом углу создается третий регион, который ничего не содержит. Любые идеи о том, как избавиться от него?
public static void main(String[] args) {
JFrame frame = new JFrame("Application");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
// Create left side of the application
JTabbedPane tabby = new JTabbedPane(JTabbedPane.LEFT);
// Create right side of the application
JPanel rightPanel = new JPanel(new BorderLayout());
// Create the status bar at the bottom
JPanel statusBar = new JPanel(new BorderLayout());
JPanel statusBarPanel = new JPanel();
statusBarLabel = new JLabel("Status Bar");
statusBarPanel.add(statusBarLabel);
parent.add(statusBarPanel);
JSplitPane mainPain = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, tabby, rightPanel);
frame.add(mainPain);
frame.add(statusBar);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Работал отлично! Спасибо! – ifyadig