前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >java Swing GUI 入门-Checkbox和Slider

java Swing GUI 入门-Checkbox和Slider

作者头像
演化计算与人工智能
发布2021-01-04 12:49:12
发布2021-01-04 12:49:12
85000
代码可运行
举报
运行总次数:0
代码可运行

觉得有用的话,欢迎一起讨论相互学习~

  • 视频教程地址: https://www.bilibili.com/video/BV1HK4y1L75a

设计布局

  • 大部分和上一节: https://xuzhiwei.blog.csdn.net/article/details/111476522 的内容一致,新加入的内容有
  1. Radio Button
  2. Checkbox
  3. JSlider

添加事件操作

  • 对于checkbox主要关注的是其状态的变化,因此使用的是ChangeListener
代码语言:javascript
代码运行次数:0
运行
复制
        professionalCheckBox.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {

                if (professionalCheckBox.isSelected()) {
                    feeField.setText("$120");
                } else {
                    feeField.setText("$100");
                }
            }

        });

* 对于radiobutton 一般情况下可以多选,为了避免多选的情况使用ButtonGroup,即新建一个ButtonGroup,并且将其他button绑定到这个ButtonGroup上.

  • 对于slider,主要使用的是其范围的变化,其中范围可以根据maximum和minimum属性进行修改,并且value可以设置初始的值.
  • slider主要关注的是其状态的变化,因此使用的是ChangeListener
代码语言:javascript
代码运行次数:0
运行
复制
        slider1.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                int handicap = slider1.getValue();
                handiLabel.setText("Your Handicap: " + handicap);

            }
        });

    }//end constructor

程序演示

完整代码

代码语言:javascript
代码运行次数:0
运行
复制
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GolfTourneyManager {
    private JPanel mainPanel;
    private JPanel panel1;
    private JPanel panel2;
    private JPanel panel3;
    private JPanel panel4;
    private JPanel panel5;
    private JTextField textField1;
    private JCheckBox professionalCheckBox;
    private JRadioButton sandpiperRadioButton;
    private JRadioButton mayfairRadioButton;
    private JRadioButton blackHawkRadioButton;
    private JRadioButton theRanchRadioButton;
    private JTextField feeField;
    private JButton REGISTERButton;
    private JSlider slider1;
    private JLabel handiLabel;
    private JLabel logoLabel;
    private JButton registerNowButton;
    private JPanel TitleBarPanel;

    public GolfTourneyManager() {
        professionalCheckBox.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {

                if (professionalCheckBox.isSelected()) {
                    feeField.setText("$120");
                } else {
                    feeField.setText("$100");
                }
            }

        });


        slider1.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                int handicap = slider1.getValue();
                handiLabel.setText("Your Handicap: " + handicap);

            }
        });

    }//end constructor

    public static void main(String[] args) {
        JFrame frame = new JFrame("Golf Tourney Manager");
        frame.setContentPane(new GolfTourneyManager().mainPanel);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }


    private void createUIComponents() {

    }
}//end class

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 觉得有用的话,欢迎一起讨论相互学习~
  • 设计布局
  • 添加事件操作
  • 程序演示
  • 完整代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档