如何在Java中以编程方式更改JSlider的位置为水平/垂直?


JSliderJComponent类的子类,它类似于滚动条,允许用户从指定的整数范围中选择一个数值。它有一个可以滑动在值范围内的滑块,可用于选择特定值。JSlider可以生成ChangeListener接口,JSlider的重要方法有getMaximum()getMinimum()getOrientation()getValue()setValue()JSlider的默认位置水平的,我们也可以通过从菜单栏中选择菜单项以编程方式将其位置设置为垂直。它可以为这些菜单项生成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);
   }
}

输出

更新于:2020年2月10日

316 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告