Swing/LeftScrollBar のバックアップの現在との差分(No.13)
- category: swing folder: LeftScrollBar title: JScrollBarをJScrollPaneの左と上に配置 tags: [JScrollBar, JScrollPane, BorderLayout] author: aterai pubdate: 2007-01-08T14:26:45+09:00 description: JScrollBarの配置位置を、JScrollPaneの左側、上側に変更します。 image:
概要
JScrollBar
の配置位置を、JScrollPane
の左側、上側に変更します。
Screenshot
Advertisement
サンプルコード
scroll.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
JPanel panel = new JPanel(new BorderLayout());
int w = scroll.getVerticalScrollBar().getPreferredSize().width;
panel.add(Box.createHorizontalStrut(w), BorderLayout.WEST);
panel.add(scroll.getHorizontalScrollBar(), BorderLayout.CENTER);
add(panel, BorderLayout.NORTH);
add(scroll, BorderLayout.CENTER);
View in GitHub: Java, Kotlin解説
- 水平スクロールバーを右から左に移動
- パネルのレイアウトに
BorderLayout
を設定してJScrollPane
をそのパネルの中央(BorderLayout.CENTER
)に追加し、JScrollPane#setComponentOrientation(...)
メソッドでComponentOrientation.RIGHT_TO_LEFT
を設定 - パネルのレイアウトに
BorderLayout
を設定してJScrollPane
をそのパネルの中央(BorderLayout.CENTER
)に追加 -
JScrollPane#setComponentOrientation(...)
メソッドでComponentOrientation.RIGHT_TO_LEFT
を設定
- パネルのレイアウトに
- 垂直スクロールバーを下から上に移動
JScrollPane#getHorizontalScrollBar()
メソッドでスクロールバーを取得し、パネルレイアウトを使ってJScrollPane
の上部(BorderLayout.NORTH
)に配置されているように表示- 左上隅の余白は
Box.createHorizontalStrut(縦スクロールバーの幅)
で埋める