Swing/DividerLocation のバックアップ(No.4)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/DividerLocation へ行く。
- title: JSplitPaneを等分割する tags: [JSplitPane] author: aterai pubdate: 2010-06-28T22:43:18+09:00 description: JSplitPaneのディバイダが中央にくるように設定します。
概要
JSplitPane
のディバイダが中央にくるように設定します。
Screenshot
Advertisement
サンプルコード
EventQueue.invokeLater(new Runnable() {
@Override public void run() {
sp.setDividerLocation(0.5);
//sp.setResizeWeight(0.5);
}
});
View in GitHub: Java, Kotlin解説
上記のサンプルでは、JSplitPane
のサイズが決まった後(例えばJFrame#pack()
や、JFrame#setSize(int,int)
などした後)で、JSplitPane#setDividerLocation(0.5);
を使用し、ディバイダを中央に配置しています。
JSplitPane#setDividerLocation(double)
- ディバイダ自身の幅(
JSplitPane#getDividerSize()
)は含まれない - 内部では、切り捨てで
JSplitPane#setDividerLocation(int)
を使用: JSplitPaneのDividerの位置を最大化後に変更する
- ディバイダ自身の幅(
JSplitPane#setResizeWeight(double)
を使用し、JSplitPane
内に配置したコンポーネント(JScrollPane
)の余ったスペースの配分が同じになるようにして、ディバイダを中央に配置する方法もあります。