实验三 图形用户界面设计(汽院含答案)(3)

2020-04-03 11:33

3) 设计主应用程序类:

public class CalendarMainClass {

public static void main(String args[]) {

CalendarFrame frame = new CalendarFrame();

}

}

frame.setTitle(\日历应用程序\);

frame.setBounds(100, 100, 360, 300); frame.setVisible(true); frame.validate();

4) 调试、编译和运行程序,并显示正确界面。

CalendarBean.java import java.util.Calendar; public class CalendarBean { String day[]; int year = 2013, month = 0; public void setYear(int year) { this.year = year; } public int getYear() { return year; } public void setMonth(int month) { this.month = month; } public int getMonth() { return month; } //返回某年某月1号开始的日期数组 public String[] getCalendar() { String a[] = new String[42]; Calendar 日历 = Calendar.getInstance(); //注意:1月份是从0开始,所以要减1 日历.set(year, month - 1, 1); int 星期几 = 日历.get(Calendar.DAY_OF_WEEK) - 1; int day = 0; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { day = 31; 0)) { } } } if (month == 4 || month == 6 || month == 9 || month == 11) { day = 30; } if (month == 2) { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == day = 29; } else { day = 28; } } for (int i = 星期几, n = 1; i < 星期几 + day; i++) { a[i] = String.valueOf(n); n++; } return a; CalendarFrame.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CalendarFrame extends JFrame implements ActionListener,KeyListener{ /** * */ private static final long serialVersionUID = 1L; Label labelDay[] = new Label[42]; Label labelYear; Button titleName[] = new Button[7]; Button nextMonth, previousMonth; Label showMessage; TextField inputYear; CalendarBean calendar; String name[] = { \日\, \一\, \二\, \三\, \四\, \五\, \六\ }; int year = 2013, month = 1; String days[]; public CalendarFrame() { calendar = new CalendarBean(); calendar.setYear(year); calendar.setMonth(month); days = calendar.getCalendar(); ScrollPane scrollPane = new ScrollPane(); scrollPane.add(getCenterPanel()); add(\,scrollPane);//【补充代码】// 窗口添加scrollPane在中心区域 add(getNorthPanel(),BorderLayout.NORTH);//【补充代码】// 窗口添加pNorth 在北面区域 add(getSouthPanel(),BorderLayout.SOUTH);//【补充代码】// 窗口添加pSouth 在南区域。 } private Panel getNorthPanel() { Panel panel = new Panel(); //【补充代码…】 panel.setLayout(new FlowLayout(FlowLayout.CENTER,10,5)); showMessage=new Label(\请输入年份:\); inputYear=new TextField(8); previousMonth=new Button(\上月\); nextMonth=new Button(\下月\); panel.add(showMessage); panel.add(inputYear); panel.add(previousMonth); panel.add(nextMonth); return panel; } private Panel getCenterPanel() { Panel panel = new Panel(); panel.setLayout(new GridLayout(7,7));//【补充代码】// 将panel的布局设置为7行7列的GridLayout布局 for (int i = 0; i < 7; i++) { titleName[i] = new Button(name[i]); panel.add(titleName[i]);//【补充代码】// panel添加组件titleName[i]。 } for (int i = 0; i < 42; i++) { labelDay[i] = new Label(\, Label.CENTER); panel.add(labelDay[i]);//【补充代码】// panel添加组件labelDay[i]。 } for (int i = 0; i < 42; i++) { labelDay[i].setText(days[i]); } return panel; } private Panel getSouthPanel() { CalendarMainClass.java import java.awt.*; import javax.swing.*; public class CalendarFrame extends JFrame { /** * */ private static final long serialVersionUID = 1L; Label labelDay[] = new Label[42]; Label labelYear; Button titleName[] = new Button[7]; Button nextMonth, previousMonth; Label showMessage; TextField inputYear; CalendarBean calendar; String name[] = { \日\, \一\, \二\, \三\, \四\, \五\, \六\ }; int year = 2013, month = 1; String days[]; public CalendarFrame() { calendar = new CalendarBean(); calendar.setYear(year); calendar.setMonth(month); days = calendar.getCalendar(); ScrollPane scrollPane = new ScrollPane(); scrollPane.add(getCenterPanel()); add(\,scrollPane);//【补充代码】// 窗口添加scrollPane在中心区域 add(getNorthPanel(),BorderLayout.NORTH);//【补充代码】// 窗口添加pNorth 在北面区域 add(getSouthPanel(),BorderLayout.SOUTH);//【补充代码】// 窗口添加pSouth 在南区域。 } private Panel getNorthPanel() { Panel panel = new Panel(); //【补充代码…】 panel.setLayout(new FlowLayout(FlowLayout.CENTER,10,5)); showMessage=new Label(\请输入年份:\); inputYear=new TextField(8); previousMonth=new Button(\上月\); nextMonth=new Button(\下月\); panel.add(showMessage); panel.add(inputYear); panel.add(previousMonth); panel.add(nextMonth); return panel; } private Panel getCenterPanel() { Panel panel = new Panel(); panel.setLayout(new GridLayout(7,7));//【补充代码】// 将panel的布局设置为7行7列的GridLayout布局 for (int i = 0; i < 7; i++) { titleName[i] = new Button(name[i]); panel.add(titleName[i]);//【补充代码】// panel添加组件titleName[i]。 } for (int i = 0; i < 42; i++) { labelDay[i] = new Label(\, Label.CENTER); panel.add(labelDay[i]);//【补充代码】// panel添加组件labelDay[i]。 } for (int i = 0; i < 42; i++) { labelDay[i].setText(days[i]); } return panel; } private Panel getSouthPanel() { Panel panel = new Panel(); //panel.setLayout(new FlowLayout(FlowLayout.CENTER)); labelYear=new Label(\月份:\+calendar.getYear()+\年\+calendar.getMonth()+\月\); panel.add(labelYear);//【补充代码…】 return panel; } }

实验总结

请书写你对本次实验有哪些实质性的收获和体会,以及对本次实验有何良好的建议?


实验三 图形用户界面设计(汽院含答案)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汇编上机题目代码

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: