任务:利用 Java 中提供的基本组件和事件处理机制完成程序的编写。 要求与提示:

1.窗体的基本界面与组件图1程序界面窗体中包含一个面板,面板中包含如下几个组件(图1):(1)两个标签组件,第一个标签组件上面显示提示信息:“Count:”;第二个标签组... 1. 窗体的基本界面与组件
图1 程序界面 窗体中包含一个面板,面板中包含如下几个组件(图 1):

(1) 两个标签组件,第一个标签组件上面显示提示信息:“Count:”;第二个 标签组件,用于显示当前的计数值,该标签组件的边框类型设置为蚀刻 类型(EtchedBorder)
(2) 一个 JSlider 组件,值的范围是 0~50,显示刻度及标签。
(3) 两个按钮,一个按钮上显示 Click Me;第二个按钮上面显示 Reset; 2. 程序基本功能要求:
(1) 当点击 Click Me 按钮时,显示计数信息的标签上的值加 1,JSlider 组件 的值也设置为当前的计数值;
(2) 当点击 Reset 按钮时,显示计数信息的标签上显示的值重置为 0,JSlider 组件的值也设置为 0;
(3) 拖动 JSlider 组件的滑块并释放鼠标后,计数标签上显示 JSlider 组件的当 前值。
3. 相关提示:
(1) 字符串转换为整数:
String s="123";
int value=Integer.parseInt(s); (2) 整数转换为字符串
int value=234;
String s2=Integer.toString(value); 或者 s2=""+value;
(3) 设置边框: 先创建边框对象:
Border etched = BorderFactory.createEtchedBorder();
然后调用组件的 setBorder 方法进行设置,如果该组件为 jtlCount: jtlCount. setBorder(etched);
(4)拖动 JSlider 产生 StateChanged 事件,因此事件监听器应该是实现了 ChangeListener 接口的类的对象,注册事件监听器对象调用的是组件的 addChangeListener 方法,ChangeListener 接口的定义形式为:
public Interface ChangeListener{
void stateChanged(ChangeEvent e) ;
}
展开
 我来答
百度网友12ee0fd
推荐于2016-10-11 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2322万
展开全部
public class Q1883417635953614668 {

    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            final JFrame frame = new JFrame("Counter");
            final JLabel label = new JLabel("Count");
            final JLabel display = new JLabel("0");
            final JButton click = new JButton("Click Me");
            final JButton reset = new JButton("Reset");
            final AtomicInteger counter = new AtomicInteger(0);
            final JSlider slider = new JSlider();
            display.setBorder(BorderFactory.createEtchedBorder());
            slider.setPaintLabels(true);
            slider.setPaintTicks(true);
            slider.setPaintTrack(true);
            slider.setMinorTickSpacing(1);
            slider.setMajorTickSpacing(10);
            slider.setLabelTable(slider.createStandardLabels(10));
            slider.setValue(0);
            slider.setMinimum(0);
            slider.setMaximum(50);
            click.addActionListener((ActionEvent e) -> {
                int currentValue = counter.incrementAndGet();
                display.setText(Integer.toString(currentValue));
                slider.setValue(currentValue);
            });
            reset.addActionListener((ActionEvent e) -> {
                counter.set(0);
                display.setText(Integer.toString(counter.intValue()));
                slider.setValue(0);
            });
            slider.addChangeListener((ChangeEvent e) -> {
                int currentValue = slider.getValue();
                counter.set(currentValue);
                display.setText(Integer.toString(currentValue));
            });

            final JPanel panel = new JPanel(new GridLayout(2, 2, 5, 5));
            panel.add(label);
            panel.add(display);
            panel.add(click);
            panel.add(reset);
            frame.add(panel, BorderLayout.CENTER);
            frame.add(slider, BorderLayout.PAGE_END);
            frame.pack();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        });
    }
}

需要java 8

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式