「Java/swing/サンプル/JSliderサンプル」の編集履歴(バックアップ)一覧はこちら

Java/swing/サンプル/JSliderサンプル」(2012/12/15 (土) 03:21:07) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

* JSliderサンプル * 基本形 &ref(JSliderSample1.png) * サンプルソース &ref(JSliderSample1.java) デフォルトコンストラクタでは0から100で初期値50のスライダーが作成されます。 #highlight(java){{ JSlider s = new JSlider(); frame.add(s); }} setValue()でスライダに値を設定できます。 getValue()でスライダの現在の値を取得できます。 #highlight(java){{ s.setValue(100); f.setText("" + s.getValue()); }} ChangeListenerを追加すると、スライダを操作した時のイベントを受け取れます #highlight(java){{ s.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { // 変更後の値をJTextFieldに設定してみます textField.setText("" + s.getValue()); } }); }} * 縦置きのスライダー サンプル&ref(JSliderSample2.java) &ref(JSliderSample2.png) #highlight(java){ // 縦置きスライダー JSlider slider = new JSlider(JSlider.VERTICAL);} * スライダのサイズ変更 サンプル&ref(JSliderSample3.java) &ref(JSliderSample3.png) スライダのサイズを変更するには、setPreferredSize()を使います。 #highlight(java){ JSlider s = new JSlider(); s.setPreferredSize(new Dimension(100, 30);} getPrefferedSize()で初期値を取得して横幅だけ変更することもできます。 #highlight(java){ JSlider s = new JSlider(); Dimension d = s.getPreferredSize(); d.setSize(100, d.height); s.setPreferredSize(d); add(s); } * マウスを離した時のイベント &ref(JSliderSample4.png) 普通にChangeListenerを使うと、スライダ操作中リアルタイムにイベントが発生します JSliderにはマウスを離した瞬間のイベントは無いそうなので、 JSlider#getValueIsAdjustingで「現在マウスで操作中か」を判定します * サンプル &ref(JSliderSapmle4.java) #highlight(java){{ add(new JLabel("マウスを離した時に反応するスライダ")); slider1 = new JSlider(); slider1.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { if (!slider1.getValueIsAdjusting()) { // マウスで掴んでる間はgetValueIsAdjusting()でtrueが返って来ます // マウスを離すとfalseが返ります textField1.setText("マウス離した" + slider1.getValue()); } } }); }}
* JSliderサンプル * 基本形 &ref(JSliderSample1.png) * サンプルソース &ref(JSliderSample1.java) デフォルトコンストラクタでは0から100で初期値50のスライダーが作成されます。 #highlight(java){{ JSlider s = new JSlider(); frame.add(s); }} setValue()でスライダに値を設定できます。 getValue()でスライダの現在の値を取得できます。 #highlight(java){{ s.setValue(100); f.setText("" + s.getValue()); }} ChangeListenerを追加すると、スライダを操作した時のイベントを受け取れます #highlight(java){{ s.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { // 変更後の値をJTextFieldに設定してみます textField.setText("" + s.getValue()); } }); }} * 縦置きのスライダー サンプル&ref(JSliderSample2.java) &ref(JSliderSample2.png) #highlight(java){ // 縦置きスライダー JSlider slider = new JSlider(JSlider.VERTICAL);} * スライダのサイズ変更 サンプル&ref(JSliderSample3.java) &ref(JSliderSample3.png) スライダのサイズを変更するには、setPreferredSize()を使います。 #highlight(java){ JSlider s = new JSlider(); s.setPreferredSize(new Dimension(100, 30);} getPrefferedSize()で初期値を取得して横幅だけ変更することもできます。 #highlight(java){ JSlider s = new JSlider(); Dimension d = s.getPreferredSize(); d.setSize(100, d.height); s.setPreferredSize(d); add(s); } * マウスを離した時のイベント &ref(JSliderSample4.png) 普通にChangeListenerを使うと、スライダ操作中リアルタイムにイベントが発生します JSliderにはマウスを離した瞬間のイベントは無いそうなので、 JSlider#getValueIsAdjustingで「現在マウスで操作中か」を判定します * サンプル &ref(JSliderSample4.java) #highlight(java){{ add(new JLabel("マウスを離した時に反応するスライダ")); slider1 = new JSlider(); slider1.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { if (!slider1.getValueIsAdjusting()) { // マウスで掴んでる間はgetValueIsAdjusting()でtrueが返って来ます // マウスを離すとfalseが返ります textField1.setText("マウス離した" + slider1.getValue()); } } }); }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: