📄 jsliderusedemo.java
字号:
package chapter11;
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class JSliderUseDemo extends JFrame {
public static final int WIDTH = 400;
public static final int HEIGHT = 280;
public final JLabel choosedLabel = new JLabel("您选择年龄:");
public final JLabel choiceLabel = new JLabel("请选择年龄:");
private JTextField myTextField;
private JPanel agePanel;
public JSliderUseDemo() {
setTitle("JSliderUseDemo");
setSize(WIDTH, HEIGHT);
AgeListener myAgeListener = new AgeListener();
// 建立容纳滑块的面板
agePanel = new JPanel();
// 新建缺省样式的滑块
JSlider ageSlider = new JSlider();
ageSlider.addChangeListener(myAgeListener);
agePanel.add(choiceLabel);
agePanel.add(ageSlider);
// 新建竖向滑块,并指定最大值和初始值。
ageSlider = new JSlider(SwingConstants.VERTICAL, 0, 100, 20);
ageSlider.addChangeListener(myAgeListener);
agePanel.add(ageSlider);
// 建立容纳文本域的面板
JPanel textPanel = new JPanel();
// 新建文本域
myTextField = new JTextField("", 15);
textPanel.add(choosedLabel, BorderLayout.NORTH);
textPanel.add(myTextField, BorderLayout.CENTER);
add(agePanel, BorderLayout.NORTH);
add(textPanel, BorderLayout.CENTER);
}
// 两个滑块共用的事件监听器
private class AgeListener implements ChangeListener {
public void stateChanged(ChangeEvent event) {
JSlider sourceSlider = (JSlider) event.getSource();
myTextField.setText("" + sourceSlider.getValue());
}
}
public static void main(String[] args) {
JSliderUseDemo frame = new JSliderUseDemo();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -