实验五Java事件处理Word格式文档下载.docx

上传人:b****5 文档编号:8511184 上传时间:2023-05-11 格式:DOCX 页数:13 大小:18.94KB
下载 相关 举报
实验五Java事件处理Word格式文档下载.docx_第1页
第1页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第2页
第2页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第3页
第3页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第4页
第4页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第5页
第5页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第6页
第6页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第7页
第7页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第8页
第8页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第9页
第9页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第10页
第10页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第11页
第11页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第12页
第12页 / 共13页
实验五Java事件处理Word格式文档下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验五Java事件处理Word格式文档下载.docx

《实验五Java事件处理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验五Java事件处理Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。

实验五Java事件处理Word格式文档下载.docx

JButtoncolorBtn;

//颜色按钮

String[]fontNames;

//字体名称

String[]fontSizes;

//字体大小

JLabellabel;

//输入提示标签

JTextFieldinputText;

//文字输入框

JTextAreatxtArea;

//文字显示区

JPanelnorthPanel;

//字体设置

JPanelcenterPanel;

//显示效果区

JPanelsouthPanel;

//样式设置

Fontfont;

intboldStyle,italicStyle;

intfontSizeStyle;

StringfontNameStyle;

ColorcolorStyle=Color.black;

//设置字体的默认颜色为黑色

String[]style={"

默认显示效果"

"

Windows显示效果"

Unix显示效果"

};

publicArtFont(){

super("

字体设置"

);

//设置默认字体

boldStyle=0;

italicStyle=0;

fontSizeStyle=10;

fontNameStyle="

宋体"

;

font=newFont(fontNameStyle,boldStyle+italicStyle,fontSizeStyle);

northPanel=getNorthPanel();

centerPanel=getCenterPanel();

southPanel=getSouthPanel();

//设置容器

Containercontainer=getContentPane();

container.setLayout(newBorderLayout());

add(northPanel,BorderLayout.NORTH);

//将northPanel添加到窗体的北部

add(centerPanel,BorderLayout.CENTER);

//将centerPanel添加到窗体的中部

add(southPanel,BorderLayout.SOUTH);

//将southPanel添加到窗体的南部

setSize(500,300);

setLocationRelativeTo(null);

//将窗体位于屏幕的中央

setVisible(true);

}

privateJPanelgetNorthPanel(){

JPanelpanel=newJPanel();

label=newJLabel("

输入"

inputText=newJTextField(10);

boldBx=newJCheckBox("

粗体"

italicBx=newJCheckBox("

斜体"

colorBtn=newJButton("

颜色"

inputText.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

//文本输入

txtArea.setText(inputText.getText());

}

});

boldBx.addItemListener(newItemListener(){

publicvoiditemStateChanged(ItemEvente){

//加粗

if(e.getStateChange()==ItemEvent.SELECTED)

boldStyle=1;

else

boldStyle=0;

font=newFont(fontNameStyle,boldStyle+italicStyle,fontSizeStyle);

txtArea.setFont(font);

italicBx.addItemListener(newItemListener(){

//斜体

italicStyle=1;

italicStyle=0;

colorBtn.addActionListener(newActionListener(){

//改变颜色

colorStyle=JColorChooser.showDialog(null,"

请选择一种颜色"

colorStyle);

colorBtn.setForeground(colorStyle);

txtArea.setForeground(colorStyle);

font=newFont(fontNameStyle,boldStyle+italicStyle,fontSizeStyle);

panel.add(label);

panel.add(inputText);

panel.add(boldBx);

panel.add(italicBx);

panel.add(colorBtn);

returnpanel;

}

privateJPanelgetCenterPanel(){

panel.setLayout(newBorderLayout());

txtArea=newJTextArea();

panel.add(newJScrollPane(txtArea),BorderLayout.CENTER);

privateJPanelgetSouthPanel(){

//获得系统默认字体

GraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnvironment();

fontNames=ge.getAvailableFontFamilyNames();

fontType=newJComboBox(fontNames);

//设置字体大小

fontSizes=newString[63];

for(inti=0;

i<

fontSizes.length;

i++){

fontSizes[i]=Integer.toString(i+10);

}

fontSize=newJComboBox(fontSizes);

windowStyle=newJComboBox(style);

fontType.addItemListener(newItemListener(){

//字体的类型

fontNameStyle=(String)e.getItem();

fontSize.addItemListener(newItemListener(){

//字体的大小

Strings=(String)e.getItem();

fontSizeStyle=Integer.parseInt(s);

windowStyle.addItemListener(newItemListener(){

//改变窗口

StringclassName="

"

if(s.equals("

))

elseif(s.equals("

className=UIManager.getCrossPlatformLookAndFeelClassName();

try{

UIManager.setLookAndFeel(className);

SwingUtilities.updateComponentTreeUI(artFont);

}catch(Exceptionde){

}

panel.add(fontType);

panel.add(fontSize);

panel.add(windowStyle);

}

publicstaticvoidmain(Stringargs[]){

artFont=newArtFont();

artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

2.日历应用程序设计

在实验三第2题的基础上,添加事件处理机制,并逐步完善程序功能。

分别用CalendarFrame类的对象做监视器和匿名内部类的对象做监视器实现。

●在文本框inputYear中输入年份,验证年份的有效性;

按回车键后,显示输入年份的正确日历

●单击previousMonth按钮可以显示当前月的上一月的日历;

如果月份小于1,则显示上一年的12月

●单击nextMonth按钮,可以显示当前月的下一月的日历;

如果月份大于1,则显示下一年的1月

CalendarBean.java

import

publicclassCalendarBean{

Stringday[];

intyear=2013,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;

星期几+day;

a[i]=String.valueOf(n);

n++;

returna;

CalendarFrame.java

publicclassCalendarFrameextendsFrame{

LabellabelDay[]=newLabel[42];

LabellabelYear;

ButtontitleName[]=newButton[7];

ButtonnextMonth,previousMonth;

LabelshowMessage;

TextFieldinputYear;

CalendarBeancalendar;

Stringname[]={"

日"

一"

二"

三"

四"

五"

六"

intyear=2013,month=1;

Stringdays[];

publicCalendarFrame(){

calendar=newCalendarBean();

calendar.setYear(year);

calendar.setMonth(month);

days=calendar.getCalendar();

ScrollPanescrollPane=newScrollPane();

scrollPane.add(getCenterPanel());

add(scrollPane,BorderLayout.CENTER);

//窗口添加scrollPane在中心区域

add(getNorthPanel(),BorderLayout.NORTH);

//窗口添加pNorth在北面区域

add(getSouthPanel(),BorderLayout.SOUTH);

//窗口添加pSouth在南区域。

privatePanelgetNorthPanel(){

Panelpanel=newPanel();

labelYear=newLabel("

请输入年份:

inputYear=newTextField(10);

previousMonth=newButton("

上月"

nextMonth=newButton("

下月"

inputYear.addActionListener(newActionListener(){

year=Integer.parseInt(inputYear.getText());

}catch(NumberFormatExceptione1){

JOptionPane.showMessageDialog(null,"

您输入的年份有误,请重新输入!

inputYear.setFocusable(true);

calendar.setYear(year);

calendar.setMonth(month);

days=calendar.getCalendar();

for(inti=0;

42;

labelDay[i].setText(days[i]);

showMessage.setText("

日历:

+calendar.getYear()+"

年"

+calendar.getMonth()+"

月"

previousMonth.addActionListener(newActionListener(){

//上月按钮

month--;

if(month<

1){

year--;

month=1;

nextMonth.addActionListener(newActionListener(){

//下月按钮

month++;

if(month>

12){

year++;

panel.add(labelYear);

panel.add(inputYear);

panel.add(previousMonth);

panel.add(nextMonth);

privatePanelgetCenterPanel(){

panel.setLayout(newGridLayout(7,7));

//将panel的布局设置为7行7列的GridLayout布局

7;

titleName[i]=newButton(name[i]);

panel.add(titleName[i]);

//panel添加组件titleName[i]。

labelDay[i]=newLabel("

Label.CENTER);

panel.add(labelDay[i]);

//pa

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2