您的位置:首页 > 编程语言

第4次作业类测试代码+149+肖雷

2017-04-27 21:16 344 查看
类图

1     //绘制界面
2     public void drawPicture() {
3         JFrame frame = new JFrame("日期计算程序");
4         frame.setLayout(null);
5         /*文字标签组*/
6         JLabel title = new JLabel("请输入需要计算的年月日(1912-2050之间)");
7         JLabel year = new JLabel("年:");
8         JLabel month = new JLabel("月:");
9         JLabel day = new JLabel("日:");
10         JLabel thisWeek = new JLabel("这一天是星期");
11         JLabel nextDay = new JLabel("下一天是:");
12         JLabel prevDay = new JLabel("上一天是:");
13         /*文字输入区域组*/
14         JTextField t_year = new JTextField();
15         JTextField t_month = new JTextField();
16         JTextField t_day = new JTextField();
17         JTextField t_thisWeek = new JTextField();
18         JTextField t_nextDay = new JTextField();
19         JTextField t_prevDay = new JTextField();
20         /*按钮组*/
21         JButton submit = new JButton("确定");
22         JButton cancel = new JButton("清空");
23
24         //使用匿名匿名内部类为submit按钮添加监听事件
25         submit.addActionListener(new ActionListener() {
26             @Override
27             public void actionPerformed(ActionEvent e) {
28                 //判断触发源是否为submit按钮
29                 if(e.getSource() == submit) {
30                     //得到输入的年,月,日,返回的是String 字符串类型
31                     String y = t_year.getText();
32                     String m = t_month.getText();
33                     String d = t_day.getText();
34                     //把获得的字符串转成数字
35                     int i_y = Integer.parseInt(y);
36                     int i_m = Integer.parseInt(m);
37                     int i_d = Integer.parseInt(d);
38                     //输出后一天
39                     String nextD = gd.nextDate(i_m, i_d, i_y);
40                     t_nextDay.setText(nextD);
41                     //输出前一天
42                     String prevD = gd.lastDay(i_m, i_d, i_y);
43                     t_prevDay.setText(prevD);
44                     //输入出当前是星期几
45                     String week = gd.todayWeek(i_m, i_d, i_y);
46                     t_thisWeek.setText(week);
47                 }
48
49             }
50         });
51         //使用匿名匿名内部类为cancel按钮添加监听事件
52         cancel.addActionListener(new ActionListener() {
53             @Override
54             public void actionPerformed(ActionEvent e) {
55                 //清空输入的数据
56                 if(e.getSource() == cancel) {
57                     t_year.setText("");
58                     t_month.setText("");
59                     t_day.setText("");
60                 }
61
62             }
63         });
64
65         /*设置标签位置及大小*/
66         Font ft = new Font("黑体",Font.BOLD,24);//设置显示字体
67         title.setFont(ft);
68         title.setBounds(62, 62, 500, 25);
69         year.setFont(ft);
70         year.setBounds(80, 124, 50, 25);
71         month.setFont(ft);
72         month.setBounds(230, 124, 50, 25);
73         day.setFont(ft);
74         day.setBounds(380, 124, 50, 25);
75         thisWeek.setFont(ft);
76         thisWeek.setBounds(62, 248, 200, 25);
77         prevDay.setFont(ft);
78         prevDay.setBounds(62, 372, 150, 25);
79         nextDay.setFont(ft);
80         nextDay.setBounds(62, 310, 150, 25);
81         /*设置文字位置及大小*/
82         t_year.setBounds(130, 124, 50, 25);
83         t_month.setBounds(280, 124, 50, 25);
84         t_day.setBounds(430, 124, 50, 25);
85         t_thisWeek.setBounds(230, 248, 50, 25);
86         t_thisWeek.setFont(ft);
87         t_thisWeek.setEnabled(false);//设置为无法输入
88         t_nextDay.setBounds(180, 310, 200, 25);
89         t_nextDay.setFont(ft);
90         t_nextDay.setEnabled(false);//设置为无法输入
91         t_prevDay.setBounds(180, 372, 200, 25);
92         t_prevDay.setFont(ft);
93         t_prevDay.setEnabled(false);//设置为无法输入
94         /*设置按钮位置及大小*/
95         submit.setBounds(180, 187, 62, 31);
96         cancel.setBounds(320, 187, 62, 31);
97         //把所有组件添加到frame中
98         frame.add(title);frame.add(year);frame.add(month);frame.add(day);
99         frame.add(thisWeek);frame.add(nextDay);frame.add(prevDay);
100         frame.add(t_year);frame.add(t_month);frame.add(t_day);
101         frame.add(t_thisWeek);frame.add(t_nextDay);frame.add(t_prevDay);
102         frame.add(submit);frame.add(cancel);
103         /*设置显示画布大小及显示的位置*/
104         frame.setSize(600, 490);
105         frame.setLocation(300,300);
106         frame.setVisible(true);
107
108     }


View Code

结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: