Swing/ScrollBarAsSlider のバックアップソース(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/ScrollBarAsSlider へ行く。
- 1 (2008-12-15 (月) 13:23:29)
- 2 (2008-12-15 (月) 16:20:52)
- 3 (2013-01-13 (日) 19:22:52)
- 4 (2013-10-16 (水) 14:19:35)
- 5 (2014-11-29 (土) 01:48:21)
- 6 (2015-06-17 (水) 16:40:06)
- 7 (2017-03-10 (金) 18:13:52)
- 8 (2018-01-12 (金) 14:30:34)
- 9 (2018-02-24 (土) 19:51:30)
- 10 (2019-07-05 (金) 14:27:09)
- 11 (2021-03-17 (水) 01:56:20)
TITLE:JScrollBarをJSliderとして代用する #navi(../) *JScrollBarをJSliderとして代用する [#mb679a0c] Posted by [[terai]] at 2008-12-15 #contents **概要 [#f9fc7c72] JScrollBar を JSlider の代わりとして使用します。 -&jnlp; -&jar; -&zip; #screenshot **サンプルコード [#j692e22c] #code{{ int step = 5; int extent = 20; int min = 0; int max = extent*10; //200 int value = 50; final JScrollBar scrollbar = new JScrollBar( JScrollBar.HORIZONTAL, value, extent, min, max+extent); scrollbar.setUnitIncrement(step); scrollbar.getModel().addChangeListener(new ChangeListener(){ public void stateChanged(javax.swing.event.ChangeEvent e) { BoundedRangeModel m = (BoundedRangeModel)e.getSource(); spinner.setValue(m.getValue()); } }); final JSpinner spinner = new JSpinner( new SpinnerNumberModel(value, min, max, step)); //... }} **解説 [#ob9937c1] 上記のサンプルでは、JScrollBarをJSliderとして使用し、JSpinnerと連動させています。JScrollBarに設定する最大値は、スクロールバーのノブ(extentはノブの幅)の右ではなく左端になるように調整する必要があります。 -このため、JSpinnerの最大値とは異なり、max+extentがJScrollBarに設定する最大値となる -垂直なら上端 **参考リンク [#sdac3685] -[[JScrollBar>http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/JScrollBar.html]] **コメント [#f4046233] #comment