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

2020-04-03 11:33

JTextField inputText;// 文字输入框; JTextArea txtArea;// 文字显示区; JPanel northPanel;// 字体设置; JPanel centerPanel;// 显示效果区 JPanel southPanel;//样式设置 Font font; int boldStyle, italicStyle, underlineStyle; int fontSizeStyle; String fontNameStyle; Color colorStyle = Color.black;// 设置字体的默认颜色为黑色; String[] style = { \默认显示效果\, \显示效果\, \显示效果\ }; public ArtFont() { super(\字体设置\); // 设置默认字体 boldStyle = 0; italicStyle = 0; underlineStyle = 0; fontSizeStyle = 10; fontNameStyle = \宋体\; font = new Font(fontNameStyle, boldStyle + italicStyle, fontSizeStyle); northPanel = getNorthPanel(); centerPanel = getCenterPanel(); southPanel = getSouthPanel(); // 设置容器; Container container = getContentPane(); container.setLayout(new BorderLayout()); container.add(northPanel,BorderLayout.NORTH); //【补充代码】//将northPanel添加到窗体的北部 container.add(centerPanel,BorderLayout.CENTER); //【补充代码】//将centerPanel添加到窗体的北部 container.add(southPanel,BorderLayout.SOUTH); //【补充代码】//将southPanel添加到窗体的北部 setSize(500, 300); //【补充代码】//将窗体位于屏幕的中央 setLocationRelativeTo(null); setVisible(true); } private JPanel getNorthPanel() { JPanel panel = new JPanel(); label = new JLabel(\输入\,JLabel.LEFT); // 设置输入提示标签 panel.add(label); // 设置文本输入框; inputText=new JTextField(10); panel.add(inputText); // inputText.addActionListener(this); boldBx=new JCheckBox(\粗体\); panel.add(boldBx); italicBx=new JCheckBox(\斜体\); panel.add(italicBx); colorBtn=new JButton(\颜色\); panel.add(colorBtn); return panel; } private JPanel getCenterPanel() { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); txtArea=new JTextArea(); panel.add(txtArea,BorderLayout.CENTER); return panel; } private JPanel getSouthPanel() { JPanel panel = new JPanel(); GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); fontNames=ge.getAvailableFontFamilyNames();// 获得系统中所有字体的名字; fontType=new JComboBox(fontNames); fontType.setEditable(false); fontType.setMaximumRowCount(10); panel.add(fontType); fontSizes=new String[63]; for(int i=0;i<63;i++) { fontSizes[i]=Integer.toString((i+10)); } fontSize=new JComboBox(fontSizes); fontSize.setEditable(false); fontSize.setMaximumRowCount(10); panel.add(fontSize); windowStyle = new JComboBox(style); panel.add(windowStyle); return panel; } public static void main(String args[]) { } ArtFont artFont = new ArtFont(); artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

2. 日历应用程序设计

编写一个应用程序,设计一个窗体,该窗体为BorderLayout布局。窗体的中心添加一个Panel容器:Panel容器的布局是7行7列的GridLayout布局,Panel容器中放置49个标签,用来显示日历。窗口的北面添加一个Panel容器,其布局是FlowLayout布局,Panel容器中放置两个按钮:nextMonth和previousMonth。窗口的南面添加一个Panel容器,其布局是FlowLayout,Panel容器中放置一个标签用来显示一些信息。

请按以下步骤完成程序设计:

1) 编写CalendarBean类,实现日期类: 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; }

if (month == 4 || month == 6 || month == 9 || month == 11) {

day = 30; }

if (month == 2) { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {

day = 29; } else {

day = 28; } }

for (int i = 星期几, n = 1; i < 星期几 + day; i++) { a[i] = String.valueOf(n); n++; }

return a; } }

2) 补充代码,完成日历窗体界面类设计:

public class CalendarFrame extends Frame { 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()); }

【补充代码】// 窗口添加scrollPane在中心区域 【补充代码】// 窗口添加pNorth 在北面区域 【补充代码】// 窗口添加pSouth 在南区域。 }

private Panel getNorthPanel() { Panel panel = new Panel(); 【补充代码…】 return panel; }

private Panel getCenterPanel() { Panel panel = new Panel();

【补充代码】// 将panel的布局设置为7行7列的GridLayout布局 for (int i = 0; i < 7; i++) {

titleName[i] = new Button(name[i]);

【补充代码】// panel添加组件titleName[i]。 }

for (int i = 0; i < 42; i++) {

labelDay[i] = new Label(\, Label.CENTER);

【补充代码】// panel添加组件labelDay[i]。 }

for (int i = 0; i < 42; i++) { labelDay[i].setText(days[i]); }

return panel; }

private Panel getSouthPanel() { Panel panel = new Panel(); 【补充代码…】 return panel; }


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

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

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

马上注册会员

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