Java图形用户界面编程练习.doc_第1页
Java图形用户界面编程练习.doc_第2页
Java图形用户界面编程练习.doc_第3页
Java图形用户界面编程练习.doc_第4页
Java图形用户界面编程练习.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验八 Java图形用户界面编程练习实验目的1、 掌握 Java 的 GUI 设计技术2、 掌握 AWT 和 Swing 的应用技巧实验要求1、 编写一个程序学习使用处理ActiongEvent事件2、 编写一个程序学习使用布局类实验内容1. 猜数字游戏实验目的:练习图形用户界面编程,学习处理ActionEvent事件。实用要求:要求程序中要有2个按钮buttonGetNumber和buttonNumber,用户单击buttonGetNumber按钮可以得到一个随机数,然后在文本框中输入猜测数字,再单击buttonNumber按钮,程序根据用户的猜测给出提示信息。运行效果示例:程序模板:按模板要求,将【代码】替换为Java程序代码。GuessExample.javaimport java.awt.*;import java.awt.event.*;import java.applet.*;public class GuessExample extends Applet implements ActionListener int number; TextField inputNumber; Label feedBack; Button buttonGetNumber,buttonEnter; public void init() buttonGetNumber=new Button(得到一个随机数); feedBack=new Label (无反馈信息,Label.CENTER); feedBack.setBackground(Color.green); inputNumber=new TextField(0,5); buttonEnter=new Button(确定); 【代码1】 /按钮buttonEnter增加ActionEvent事件监视器,监视器为当前Java Applet。 【代码2】 /按钮buttonGetNumber增加ActionEvent事件监视器,监视器为当前Java Applet。 add(new Label(获取1-100之间的随机数:); add(buttonGetNumber); add(new Label(输入您的猜测:); add(inputNumber); add(new Label(单击确定按钮:); add(buttonEnter); add(new Label(反馈信息:); add(feedBack); public void actionPerformed(ActionEvent e) if(【代码3】) /判断事件源是否是buttonGetNumber。 number=(int)(Math.random()*100)+1; else if(【代码4】) /判断事件源是否是buttonEnter。 int guess=0; try guess=Integer.parseInt(【代码5】); /返回inputNumber中的文本。 if(guess=number) 【代码6】 /feedBack设置提示文本:猜对了!。 else if(guessnumber) 【代码7】 /feedBack设置提示文本:猜大了!。 inputNumber.setText(null); else if(guessnumber) 【代码8】 /feedBack设置提示文本:猜小了!。 inputNumber.setText(null); catch(NumberFormatException event) 【代码9】 /feedBack设置提示文本:请输入数字字符。 实验后的练习:1、 将给上述程序增加记录猜测次数的功能,每次反馈这是第几次猜测,当猜测成功时反馈一共猜测了几次。2. 布局和日历实验目的:学习使用布局类实用要求:利用Swing编写一个GUI程序,JFrame使用BorderLayout布局。在JFrame的中心添加一个Panel容器pCenter, pCenter的布局是7行7列的GridLayout布局,pCenter中放置49个标签,用来显示日历。JFrame的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth按钮,可以显示当前月的上一月的日历。JFrame的南面添加一个Panel容器pSouth,其布局也是FlowLayout,pSouth中放置一个标签来显示一些日历信息。运行效果示例:程序模板:按模板要求,将【代码】替换为Java程序代码。CalendarExample.javaimport java.util.*;import java.awt.*;import java.awt.event.*;import java.applet.*;import javax.swing.*;public class CalendarExample extends JFrame implements ActionListener JLabel a=new JLabel42; JButton titleName=new JButton7; String name=星期日,星期一,星期二,星期三, 星期四,星期五,星期六; JButton nextMonth,previousMonth; int year=2008,month=1; CalendarBean calendar; JLabel showMessage=new JLabel(,JLabel.CENTER); public CalendarExample() 【代码1】 /将Java Applet的布局设置为BorderLayout布局。 JPanel pCenter=new JPanel(); 【代码2】 /将pCenter的布局设置为7行7列的GridLayout 布局。 for(int i=0;i7;i+) titleNamei=new JButton(namei); 【代码3】 /向pCenter添加组件titleNamei。 for(int i=0;i42;i+) ai=new JLabel(,JLabel.CENTER); 【代码4】 /向pCenter添加组件ai。 calendar=new CalendarBean(); calendar.setYear(year); calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i12) month=1; calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i42;i+) ai.setText(dayi); else if(e.getSource()=previousMonth) month=month-1; if(month1) month=12; calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i42;i+) ai.setText(dayi); showMessage.setText(日历:+calendar.getYear()+年+calendar.getMonth()+月 ); class CalendarBean String day; int year=2008,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; public String getCalendar() String a=new String42; /存放日期的一维数组。 Calendar nowCal=Calendar.getInstance(); nowCal.set(year,month-1,1); int nowDay=nowCal.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; i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论