Swing/LeftScrollBar のバックアップソース(No.5)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/LeftScrollBar へ行く。
- 1 (2007-01-08 (月) 14:26:45)
- 2 (2007-09-13 (木) 18:33:34)
- 3 (2008-03-27 (木) 01:11:39)
- 4 (2008-12-26 (金) 13:52:59)
- 5 (2011-12-15 (木) 03:05:18)
- 6 (2013-02-10 (日) 00:03:12)
- 7 (2013-08-31 (土) 01:40:17)
- 8 (2014-11-25 (火) 03:03:31)
- 9 (2015-10-28 (水) 20:58:47)
- 10 (2017-04-21 (金) 13:22:26)
- 11 (2018-04-10 (火) 17:09:15)
- 12 (2020-04-08 (水) 16:00:07)
- 13 (2021-10-13 (水) 02:44:07)
TITLE:JScrollBarをJScrollPaneの左と上に配置 #navi(../) RIGHT:Posted by [[aterai]] at 2007-01-08 *JScrollBarをJScrollPaneの左と上に配置 [#l79e30ba] JScrollBarの配置位置を、JScrollPaneの左側、上側に変更します。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTPG13yZbI/AAAAAAAAAdc/1a4aTgyblRo/s800/LeftScrollBar.png) **サンプルコード [#c9e13a36] #code{{ 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); }} **解説 [#y5955037] - 水平スクロールバーを右から左に -- パネルのレイアウトを、BorderLayout にして、JScrollPane をそのパネルの中央(BorderLayout.CENTER) に追加し、JScrollPane#setComponentOrientationメソッドで、ComponentOrientation.RIGHT_TO_LEFTを設定しています。 - 垂直スクロールバーを下から上に -- JScrollPane#getHorizontalScrollBar()メソッドでスクロールバーを取得し、パネルレイアウトを使ってJScrollPaneの上部(BorderLayout.NORTH)に配置されているように見せかけています。 --左上隅の余白は、Box.createHorizontalStrut(縦スクロールバーの幅)です。 **参考リンク [#u3788d1b] -[http://forums.sun.com/thread.jspa?threadID=600107 Swing - JScrollPane with scroll bar on the left] -[http://sozai-free.com/ 2000ピクセル以上のフリー写真素材集] **コメント [#ybd1b696] - グッド -- [[a1]] &new{2008-12-26 (金) 13:52:59}; #comment