实验四图形用户界面设计.docx
- 文档编号:1149357
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:9
- 大小:50.33KB
实验四图形用户界面设计.docx
《实验四图形用户界面设计.docx》由会员分享,可在线阅读,更多相关《实验四图形用户界面设计.docx(9页珍藏版)》请在冰豆网上搜索。
实验四图形用户界面设计
实验四图形用户界面设计
实验目的
1.掌握Java语言中GUI编程的根本方法
2.掌握Java语言中AWT组件的根本用法
3.掌握Java语言中Swing组件的根本用法
实验容
1.图形用户界面设计程序(ArtFont.java)
要求:
设计一个文字字体设置窗体,在该窗体中可以设置要显示文字的字体容,包括字体名称、字体大小、粗体和斜体等字体风格。
并模拟在不同操作系统下的显示效果。
程序的最终显示效果如下:
提示:
整个窗体继承于JFrame,采用BorderLayout布局。
在窗体中添加三个JPanel:
northPanel、centerPanel和southPanel,分别位于窗体的北部、中部和南部,然后分别在各个面板中添加其它组件,并逐步完善程序功能。
请按以下步骤完成程序设计:
1)新建ArtFont类,该类用于显示主界面。
其主要代码如下:
publicclassArtFontextendsJFrame{
JComboBoxfontType;//字体样式下拉框,
JComboBoxfontSize;//字体大小下拉框
JComboBoxwindowStyle;//窗体样式下拉框
JCheckBoxboldBx;//粗体按钮
JCheckBoxitalicBx;//斜体按钮
JButtoncolorBtn;//颜色按钮;
String[]fontNames;//字体名称;
String[]fontSizes;//字体大小;
JLabellabel;//输入提示标签;
JTextFieldinputText;//文字输入框;
JTextAreatxtArea;//文字显示区;
JPanelnorthPanel;//字体设置;
JPanelcenterPanel;//显示效果区
JPanelsouthPanel;//样式设置
Fontfont;
intboldStyle,italicStyle,underlineStyle;
intfontSizeStyle;
StringfontNameStyle;
ColorcolorStyle=Color.black;//设置字体的默认颜色为黑色;
String[]style={"默认显示效果","Windows显示效果","Unix显示效果"};
publicArtFont(){
super("字体设置");
//设置默认字体
boldStyle=0;
italicStyle=0;
underlineStyle=0;
fontSizeStyle=10;
fontNameStyle="宋体";
font=newFont(fontNameStyle,boldStyle+italicStyle,fontSizeStyle);
northPanel=getNorthPanel();
centerPanel=getCenterPanel();
southPanel=getSouthPanel();
//设置容器;
Containercontainer=getContentPane();
container.setLayout(newBorderLayout());
【补充代码】//将northPanel添加到窗体的北部
【补充代码】//将centerPanel添加到窗体的中部
【补充代码】//将southPanel添加到窗体的南部
setSize(500,300);
【补充代码】//将窗体位于屏幕的中央
setVisible(true);}
privateJPanelgetNorthPanel(){
JPanelpanel=newJPanel();
returnpanel;
}
privateJPanelgetCenterPanel(){
JPanelpanel=newJPanel();
returnpanel;
}
privateJPanelgetSouthPanel(){
JPanelpanel=newJPanel();
returnpanel;
}
publicstaticvoidmain(Stringargs[]){
ArtFontartFont=newArtFont();
artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2)根据ArtFont类代码和程序界面图设计北部面板northPanel:
privateJPanelgetNorthPanel(){
JPanelpanel=newJPanel();
【补充代码…】
returnpanel;
}
3)根据ArtFont类代码和程序界面图设计中部面板centerPanel:
privateJPanelgetCenterPanel(){
JPanelpanel=newJPanel();
【补充代码…】
returnpanel;
}
4)根据ArtFont类代码和程序界面图设计南部面板southPanel:
privateJPanelgetSouthPanel(){
JPanelpanel=newJPanel();
//获得系统默认字体
GraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnvironment();
fontNames=ge.getAvailableFontFamilyNames();
fontType=newJComboBox(fontNames);
//设置字体大小
fontSizes=newString[63];
for(inti=0;i fontSizes[i]=Integer.toString(i+10); } 【补充代码…】 returnpanel; } 5)调试、编译和运行程序,并显示正确界面。 2.日历应用程序设计 编写一个应用程序,设计一个窗体,该窗体为BorderLayout布局。 窗体的中心添加一个Panel容器: Panel容器的布局是7行7列的GridLayout布局,Panel容器中放置49个标签,用来显示日历。 窗口的北面添加一个Panel容器,其布局是FlowLayout布局,Panel容器中放置两个按钮: nextMonth和previousMonth。 窗口的南面添加一个Panel容器,其布局是FlowLayout,Panel容器中放置一个标签用来显示一些信息。 请按以下步骤完成程序设计: 1)编写CalendarBean类,实现日期类: publicclassCalendarBean{ Stringday[]; intyear=2021,month=0; publicvoidsetYear(intyear){ this.year=year; } publicintgetYear(){ returnyear; } publicvoidsetMonth(intmonth){ this.month=month; } publicintgetMonth(){ returnmonth; } //返回某年某月1号开场的日期数组 publicString[]getCalendar(){ Stringa[]=newString[42]; Calendar日历=Calendar.getInstance(); //注意: 1月份是从0开场,所以要减1 日历.set(year,month-1,1); int星期几=日历.get(Calendar.DAY_OF_WEEK)-1; intday=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(inti=星期几,n=1;i<星期几+day;i++){ a[i]=String.valueOf(n); n++; } returna; } } 2)补充代码,完成日历窗体界面类设计: publicclassCalendarFrameextendsFrame{ LabellabelDay[]=newLabel[42]; LabellabelYear; ButtontitleName[]=newButton[7]; ButtonnextMonth,previousMonth; LabelshowMessage; TextFieldinputYear; CalendarBeancalendar; Stringname[]={"日","一","二","三","四","五","六"}; intyear=2021,month=1; Stringdays[]; publicCalendarFrame(){ calendar=newCalendarBean(); calendar.setYear(year); calendar.setMonth(month); days=calendar.getCalendar(); ScrollPanescrollPane=newScrollPane(); scrollPane.add(getCenterPanel()); 【补充代码】//窗口添加scrollPane在中心区域 【补充代码】//窗口添加pNorth在北面区域 【补充代码】//窗口添加pSouth在南区域。 } privatePanelgetNorthPanel(){ Panelpanel=newPanel(); 【补充代码…】 returnpanel; } privatePanelgetCenterPanel(){ Panelpanel=newPanel(); 【补充代码】//将panel的布局设置为7行7列的GridLayout布局 for(inti=0;i<7;i++){ titleName[i]=newButton(name[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 图形 用户界面 设计