setDividerLocation в JSplitPane
У меня есть один JFrame, содержащий Splitpane. По умолчанию правая панель больше левой, но мне нужно, чтобы левая панель была больше, чем правая. Как я могу это сделать?
Вот мой код:
JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left, right);
split.setDividerLocation(500);
frame.getContentPane().add(split);
1 ответ
Вы можете использовать метод setDividerLocation, который принимает double
как значение отношения (между 0,0 и 1,0):
Здесь левая панель займет 60% от общей ширины:
split.setDividerLocation(0.6);
Кажется, что разделение может быть уже видимым, чтобы это работало:
Если разделенная панель не реализована правильно и на экране, этот метод не будет иметь никакого эффекта (новое расположение делителя станет (текущий размер * пропорциональный расположение), которое равно 0).
Итак, позвоните setDividerLocation
только после того, как содержимое вашего фрейма было добавлено, и фрейм стал видимым.