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 только после того, как содержимое вашего фрейма было добавлено, и фрейм стал видимым.

Другие вопросы по тегам