如何在Java中以编程方式更改JSlider的位置为水平/垂直?
JSlider是JComponent类的子类,它类似于滚动条,允许用户从指定的整数范围中选择一个数值。它有一个可以滑动在值范围内的滑块,可用于选择特定值。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); } }
输出
广告