Swing/ViewportBorder のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ViewportBorder へ行く。
- title: JViewportにBorderを設定する tags: [JViewport, Border, JScrollPane, JTextArea, Caret] author: aterai pubdate: 2014-01-13T00:01:30+09:00 description: JViewportにBorderを設定して余白を作成します。
概要
JViewport
にBorder
を設定して余白を作成します。
Screenshot
Advertisement
サンプルコード
JTextArea textArea2 = new JTextArea("JScrollPane#setViewportBorder(...)\n\n" + initTxt);
textArea2.setMargin(new Insets(0,0,0,0));
JScrollPane scroll2 = new JScrollPane(textArea2);
scroll2.setViewportBorder(BorderFactory.createLineBorder(textArea2.getBackground(), 5));
View in GitHub: Java, Kotlin解説
- 左:
JTextArea#setMargin(Insets)
JTextArea
にsetMargin(Insets)
で余白を設定- 行変更などのカーソル移動で先頭や末尾の余白分まではスクロールされない
- 右:
JScrollPane#setViewportBorder(...)
JTextArea#setMargin(new Insets(0,0,0,1))
でJTextArea
自体の余白を変更- すべて
0
の場合、一番長い行の末尾でキャレットが表示されない
- すべて
JScrollPane#setViewportBorder(...)
でJViewport
の周囲に余白を設定- スクロールバーなどの有無によらず、この余白は常に表示されている