JAVA图形用户界面编程练习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class GuessExample extends Applet implements ActionListener
{
int number;
TextField inputNumber;
JLabel("",JLabel.CENTER); public CalendarExample() { 【代码1】 //将Java Applet的布局设置为BorderLayout
布局。 JPanel pCenter=new JPanel(); 【代码2】 //将pCenter的布局设置为7行7列的
pSouth=new JPanel(); pNorth.add(previousMonth); pNorth.add(nextMonth); pSouth.add(showMessage); showMessage.setText("日历: "+calendar.getYear()+"年"+ calendar.getMonth()+"月 " );
inputNumber=new TextField("0",5);
buttonEnter=new Button("确定"); 【代码 1】 //按钮 buttonEnter 增加 ActionEvent 事件监视器,监视器为 当前 Java Applet。
【代码 2】 //按钮 buttonGetNumber 增加 ActionEvent 事件监视器,监
GridLayout 布局。 for(int i=0;i<7;i++) { titleName[i]=new JButton(name[i]); 【代码3】 //向pCenter添加组件titleName[i]。 } for(int i=0;i<42;i++) { a[i]=new JLabel("",JLabel.CENTER); 【代码4】 //向pCenter添加组件a[i]。
程序模板:按模板要求,将【代码】替换为 Java 程序代码。 CalendarExample.java
import java.util.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; public class CalendarExample extends JFrame implements ActionListener {
ScrollPane scrollPane=new ScrollPane(); scrollPane.add(pCenter); 【代码7】// 将scrollPane添加到Frame的中心区域。 【代码8】// 将pNorth添加到Frame的北面区域。 【代码9】// 将pSouth添加到Frame的南区域。 } public static void main(String[] args){ 【代码9】//实现main方法,显示日历界面,同时在关闭界面 时退出程序。 } public void actionPerformed(ActionEvent e) { if(e.getSource()==nextMonth) {
month=month-1; if(month<1)
month=12; calendar.setMonth(month); String day[]=calendar.getCalendar();
for(int i=0;i<42;i++) {
a[i].setText(day[i]); } } showMessage.setText("日历: "+calendar.getYear()+"年"+calendar.getMonth()+"月 " ); } } class CalendarBean { String day[];
JLabel a[]=new JLabel[42]; JButton titleName[]=new JButton[7]; String name[]={"星期日","星期一","星期二","星期三
", "星期四","星期五","星期六"}; JButton nextMonth,previousMonth; int year=2008,month=1; CalendarBean calendar; JLabel showMessage=new
return month; } public String[] getCalendar() {
String a[]=new String[42]; //存放日期的一维数 组。
Calendar nowCal=Calendar.getInstance();
nowCal.set(year,month-1,1); int nowDay=nowCal.get(Calendar.DAY_OF_WEEK)-1; int day=0;
month=month+1; if(month>12)
month=1; calendar.setMonth(month); String day[]=calendar.getCalendar(); for(int i=0;i<42;i++)
{ a[i].setText(day[i]);
} } else if(e.getSource()==previousMonth) {
} 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 中放置一个标签来显示 一些日历信息。 运行效果示例:
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() {
要求程序中要有 2 个按钮 buttonGetNumber 和 buttonNumber,用户单击 buttonGetNumber 按钮可以得到一个随机数,然后在文本框中输入猜测数字,再单击 buttonNumber 按钮,程 序根据用户的猜测给出提示信息。 运行效果示例:
程序模板:按模板要求,将【代码】替换为 Java 程序代码。 GuessExample.java
视器为当前 Java Applet。
add(new Label("获取 1-100 之间的随机数:"));
add(buttonGetNumber);
add(new Label("输入您的猜测:"));
add(inputNumber);
add(new Label("单击确定按钮:"));
add(buttonEnter);
}
"。
} }
else if(guess>number) { 【代码 7】 //feedBack 设置提示文本:"猜大了!。 inputNumber.setText(null); }
else if(guess<number) { 【代码 8】 //feedBack 设置提示文本:"猜小了!。 inputNumber.setText(null); }
add(new Label("反馈信息:"));
add(feedBack);
}
public void actionPerformed(ActionEvent e)
{
if(【代码 3】)
//判断事件源是否是 buttonGetNumber。
{
number=(int)(Math.random()*100)+1;
if(((year%4==0)&&(year%100!=0))||(year%400==0)) { day=29; }
else
{ day=28;
} } for(int i=nowDay,n=1;i<nowDay+day;i++)
{ a[i]=String.valueOf(n) ; n++;
} return a; } }
实验八 Java 图形用户界面编程练习
实验目的
1、 掌握 Java 的 GUI 设计技术 2、 掌握 AWT 和 Swing 的应用技巧
实验要求
1、 编写一个程序学习使用处理ActiongEvent事件 2、 编写一个程序学习使用布局类
实验内容
1. 猜数字游戏
实验目的:练习图形用户界面编程,学习处理 ActionEvent 事件。 实用要求:
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) {
} calendar=new CalendarBean(); calendar.setYear(year); calendar.setMonth(month); String day[]=calendar.getCalendar(); for(int i=0;i<42;i++) {
a[i].setText(day[i]); } nextMonth=new JButton("下月"); previousMonth=new JButton("上月"); 【代码5】//为nextMonth按钮添加Action事件监听器。 【代码6】//为previousMonth按钮添加Action事件监听 器。 JPanel pNorth=new JPanel(),
}
else if(【代码 4】) //判断事件源是否是 buttonEnter。
{
int guess=0;
try {
guess=Integer.parseInt( 【 代 码 5 】 ); // 返 回
inputNumber 中的文本。
if(guess==number)
{
【代码 6】 //feedBack 设置提示文本:"猜对了!"。
Label feedBack;
Button buttonGetNumber,buttonEnter;
public void init()Βιβλιοθήκη Baidu
{
buttonGetNumber=new Button("得到一个随机数");
feedBack=new Label ("无反馈信息",Label.CENTER);
feedBack.setBackground(Color.green);
相关文档
最新文档