Java课程设计---定时器

1.团队课程设计博客链接

http://www.cnblogs.com/ltykm/p/7063663.html

2.个人负责模块或任务说明

本人任务:构思界面,设计界面的板块和板块中的内容,美化界面。

3.自己的代码提交记录截图

1109849-20170622142556226-984276222.png

4.自己负责模块或任务详细说明

构建一个大窗体,将其分成三个模块:jpShowTime, jpSetting, jpTimeInfo,然后在各模块里加入标签按钮等信息。
1109849-20170622135444226-2070160382.png

    public TimeFrame() {
        add(new TimePanel());

        this.setTitle("计时器");
        this.setSize(1000, 700);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        this.setResizable(false);
        this.setVisible(true);
    }

    class TimePanel extends JPanel implements ActionListener, Runnable {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private int setTime;
        private int showTime;
        // 定义是否计时变量
        private boolean flag = false;
        private JPanel jPanel = new JPanel();
        private JPanel jpShowTime, jpSetting, jpTimeInfo;

        private JLabel labTime, labSetTime, labPassTime, labRemainTime;
        private JButton btnBegin;
        private JButton btnPause;
        private JButton btnContinue;
        private JButton btnHidden;
        private JButton btnShow;
        private JButton btnExit;
        // 倒计时设置
        private JPanel jpTimeSetting;
        private JTextField tfdHours;
        private JTextField tfdMinutes;
        private JTextField tfdSeconds;

        public TimePanel() {
            this.setSize(1000, 700);
            this.setLayout(null);

            createSetting();
            createShowTime();
        }

        // 创建倒计时面板
        void createShowTime() {
            jpShowTime = new JPanel();
            jpShowTime.setSize(1000, 350);
            jpShowTime.setBackground(Color.darkGray);

            labTime = new JLabel("00 : 00 : 00", JLabel.CENTER);
            labTime.setFont(new Font("微软雅黑", 1, 150));
            labTime.setForeground(Color.white);
            jpShowTime.add(labTime);

            add(jpShowTime).setBounds(0, 350, 1000, 350);
            ;
        }

        // 创建设置倒计时属性面板
        void createSetting() {
            jpSetting = new JPanel();
            jpSetting.setSize(1000, 350);
            jpSetting.setLayout(null);  //设定为空

            createTimeSetting();
            createTimeInfo();

            // 开始按钮
            btnBegin = new JButton("开始[F8]");
            jpSetting.add(btnBegin).setBounds(700, 50, 80, 50);
            // 暂停按钮
            btnPause = new JButton("暂停[F9]");
            jpSetting.add(btnPause).setBounds(800, 50, 80, 50);
            // 继续按钮
            btnContinue = new JButton("继续[F10]");
            jpSetting.add(btnContinue).setBounds(900, 50, 80, 50);
            // 隐藏按钮
            btnHidden = new JButton("隐藏[F11]");
            jpSetting.add(btnHidden).setBounds(700, 120, 80, 50);
            // 显示按钮
            btnShow = new JButton("显示[F12]");
            jpSetting.add(btnShow).setBounds(800, 120, 80, 50);
            // 帮助按钮
            btnExit = new JButton("退出");
            jpSetting.add(btnExit).setBounds(900, 120, 80, 50);

            btnBegin.addActionListener(this);
            btnPause.addActionListener(this);
            btnContinue.addActionListener(this);
            btnHidden.addActionListener(this);
            btnShow.addActionListener(this);
            btnExit.addActionListener(this);

            add(jpSetting).setBounds(0, 0, 1000, 350);
        }

        // 设置倒计时时间
        void createTimeSetting() {
            jpTimeSetting = new JPanel();
            jpTimeSetting.setSize(300, 200);
            jpTimeSetting.setLayout(new FlowLayout());

            jpTimeSetting.add(tfdHours = new JTextField(3));
            jpTimeSetting.add(new JLabel("时"));
            jpTimeSetting.add(tfdMinutes = new JTextField(3));
            jpTimeSetting.add(new JLabel("分"));
            jpTimeSetting.add(tfdSeconds = new JTextField(3));
            jpTimeSetting.add(new JLabel("秒"));

            jpSetting.add(jpTimeSetting).setBounds(50 , 80, 300, 100);
        }

        // 显示计时详细信息
        void createTimeInfo() {
            jpTimeInfo = new JPanel();
            jpTimeInfo.setLayout(null);
            jpTimeInfo.setBackground(Color.LIGHT_GRAY);
            jpTimeInfo.setSize(1000, 100);
            // 总秒数
            labSetTime = new JLabel("计时总秒数 : ", JLabel.CENTER);
            labSetTime.setFont(new Font("微软雅黑", 0, 20));
            jpTimeInfo.add(labSetTime).setBounds(0, 10, 300, 80);
            // 已过秒数
            labPassTime = new JLabel("已过秒数 : ", JLabel.CENTER);
            labPassTime.setFont(new Font("微软雅黑", 0, 20));
            jpTimeInfo.add(labPassTime).setBounds(300, 10, 300, 80);
            // 剩余秒数
            labRemainTime = new JLabel("剩余秒数 : ", JLabel.CENTER);
            labRemainTime.setFont(new Font("微软雅黑", 0, 20));
            jpTimeInfo.add(labRemainTime).setBounds(600, 10, 300, 80);

            jpSetting.add(jpTimeInfo).setBounds(0, 250, 1000, 100);
        }

5.课程设计感想

在设计界面前,要先用图纸画出程序界面,标出各模块的位置然后准确到坐标,这样设计界面时就不容易出错。
这次课程设计,使我发现自己在编程方面还有很多的不足,能够认识到自身的一些缺陷,在将来的时间进一步的强化自身弱项。

转载于:https://www.cnblogs.com/ltykm/p/7063562.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值