Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJSliderの向き(水平・垂直)をプログラムで切り替える方法

JSliderJComponentクラスのサブクラスであり、スクロールバーと似た役割を持つSwingコンポーネントです。ユーザーが指定された整数値の範囲から数値を選択できるように設計されており、値の範囲上をスライドするつまみ(ノブ)を操作することで、特定の値を選択できます。

JSliderはChangeListenerインターフェースを発生させることができ、主なメソッドとしてgetMaximum()getMinimum()getOrientation()getValue()setValue()などが用意されています。

JSliderのデフォルトの向き水平(HORIZONTAL)ですが、プログラムから垂直方向へ変更することも可能です。例えば、メニューバーのメニュー項目を選択することで向きを切り替える実装が考えられます。この場合、各メニュー項目に対してActionListenerインターフェースを実装し、actionPerformed()メソッド内でJSliderクラスのsetOrientation()メソッドを呼び出すことで、向きを動的に設定できます。

サンプルコード

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JSliderVerticalHorizontalTest extends JFrame implements ActionListener {
    private JSlider slider;
    private JMenuBar menuBar;
    private JMenu menu;
    private JMenuItem menuItem1, menuItem2;
    public JSliderVerticalHorizontalTest() {
        setTitle("JSliderVerticalHorizontal Test");
        setLayout(new FlowLayout());
        menuBar = new JMenuBar();
        menu = new JMenu("JSlider Orientation");
        menuItem1 = new JMenuItem("HORIZONTAL");
        menuItem2 = new JMenuItem("VERTICAL");
        menu.add(menuItem1);
        menu.add(menuItem2);
        menuItem1.addActionListener(this);
        menuItem2.addActionListener(this);
        menuBar.add(menu);
        setJMenuBar(menuBar);
        slider = new JSlider(JSlider.HORIZONTAL, 0, 30, 15);
        add(slider);
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }
    public static void main(String[] args) {
        new JSliderVerticalHorizontalTest();
    }
    public void actionPerformed(ActionEvent ae) {
        if (ae.getActionCommand().equals("HORIZONTAL"))
            slider.setOrientation(JSlider.HORIZONTAL);
        else if (ae.getActionCommand().equals("VERTICAL"))
            slider.setOrientation(JSlider.VERTICAL);
    }
}

実行結果

上記のプログラムを実行すると、初期状態では水平方向のスライダーが表示されます。メニューから「VERTICAL」を選択すると、以下のようにスライダーが垂直方向に切り替わります。

JavaでJSliderの向き(水平・垂直)をプログラムで切り替える方法

JavaでJSliderの向き(水平・垂直)をプログラムで切り替える方法

ポイントのまとめ

  • JSliderのデフォルトの向きは水平(JSlider.HORIZONTAL)です。
  • 向きの変更にはsetOrientation()メソッドを使用し、引数にJSlider.HORIZONTALまたはJSlider.VERTICALを指定します。
  • コンストラクタでnew JSlider(orientation, min, max, value)のように指定すれば、向きと値の範囲・初期値を同時に設定できます。
  • メニュー操作と組み合わせることで、実行時に動的に向きを切り替えるUIを実現できます。
  1. Excelで縦の列を横の行に変更する6つの簡単な方法

    Excelでは、縦方向に並んだデータ(列)を横方向(行)へ変更したい場面がよくあります。例えば、報告書やプレゼン資料のレイアウト調整、データベースの形式変換など、縦持ちデータを横持ちに切り替えるニーズは意外と多いものです。本記事では、Excelで縦の列を横の行に変更できる6つの方法を、初心者の方にもわかりやすく順を追って解説します。 サンプルデータについて ここでは、複数の販売者(Seller)ごとの売上金額(Sales Amount)を記録したデータセットを使用します。この縦に並んだデータを、以下のように横方向の行へ入れ替えます(いわゆる「転置」という操作です)。 変換後のイメージは次の

  2. Windows 10でタスクバーの位置を変更する方法【上下左右に移動する手順を解説】

    Windowsのタスクバーは、登場以来ずっと画面下部に配置されてきました。しかし、設定を変更すれば、画面の上部や左右の端にも移動できます。用途によっては、限られた画面スペースをより有効に活用できるようになる便利な機能です。タスクバーの位置を変更する手順タスクバーの表示位置を変更するには、まずWindows 10の「設定」アプリを開き、「個人用設定」カテゴリを選択します。次に、左側のメニューから「タスクバー」ページをクリックしてください。設定ページを下にスクロールすると、「画面上のタスクバーの場所」という項目が見つかります。このドロップダウンメニューでは、画面の4つの端(上・下・左・右)のいずれ