教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 资料大全 >

实验八 图形用户界面与对话框

来源:网络收集 时间:2026-04-28
导读: 实验八 图形用户界面与对话框 1. 实验目的 1、学会处理ActionEvent事件 2、学会使用布局类 3、学习焦点、鼠标和键盘事件 4、学习使用输入和消息对话框 2. 实验内容 1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。 1) 实验1算

实验八 图形用户界面与对话框

1. 实验目的

1、学会处理ActionEvent事件

2、学会使用布局类

3、学习焦点、鼠标和键盘事件

4、学习使用输入和消息对话框

2. 实验内容

1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。

1) 实验1算术测试

2) 实验2布局与日历

3) 实验3华容道

4) 实验4字体对话框

5) 实验5计算平方根

6) 实验6简易计算器

2、设计编写程序完成以下任务。

1)修改实验1的代码,再增加“小学生”级别,并增加测试乘、除法的功能。

2)编写一个应用程序,用户可以在一个文本框里输入数字字符,按Enter键后将数字放入一个文本区。当输入的数字大于1000时,弹出一个有模式的对话框,提示用户数字已经大于1000,是否继续将该数字放入文本区。

3)编写应用程序,有一个标题为“移动”的窗口,窗口布局为null,在窗口中有两个按钮,单击一个按钮让另一个按钮移动。

4)仿照操作系统中的简易计算机,自行设计一个能进行加减乘除运算的计算器。需要考虑先进性乘除运算再进行加减运算。

3. 实验步骤

4. 评分标准

1. A——内容功能完善,编程风格好,人机接口界面好;

2. B——内容功能完善,编程风格良好,人机接口界面良好;

3. C——完成必做内容;

4. D——能完成必做内容;

5. E——未按时完成必做内容,或者抄袭(雷同者全部为E).

参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩包的文件名为:学号后三位和名字开头字母,如109zhh.RAR|ZIP)

附录:

实验1 算术测试

模板代码

Teacher.java

import java.util.Random;

import java.awt.event.*;

import javax.swing.*;

public class Teacher implements ActionListener{

int numberOne,numberTwo; String operator=" "; boolean isRight; Random random; int maxInteger; JTextField textOne,textTwo,textResult; JLabel operatorLabel,message; Teacher(){ } public void setMaxInteger(int n){ } public void actionPerformed(ActionEvent e){ String str=e.getActionCommand(); if(str.equals("getProblem")){ numberOne=random.nextInt(maxInteger)+1; numberTwo=random.nextInt(maxInteger)+1; double d=Math.random(); if(d>=0.5){ } textOne.setText(""+numberOne); textTwo.setText(""+numberTwo); operatorLabel.setText(operator); message.setText("请回答"); textResult.setText(null); operator="+"; operator="-"; }else{ maxInteger=n; random=new Random(); }else if(str.equals("answer")){

}

} } try{ } int result=Integer.parseInt(answer); if(operator.equals("+")){ } message.setText("请输入数字字符"); if(result==numberOne+numberTwo){ } if(result==numberOne-numberTwo){ } message.setText("你回答正确"); message.setText("你回答错误"); }else{ message.setText("你回答正确"); message.setText("你回答错误"); }else{ }else if(operator.equals("-")){ }catch(NumberFormatException ex){ public void setJTextField(JTextField...t){ } public void setJLabel(http://bel){ } operatorLabel=label[0]; message=label[1]; textOne =t[0]; textTwo =t[1]; textResult =t[2];

ComputerFrame.java

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ComputerFrame extends JFrame{

JMenuBar menubar; JMenu choiceGrade; JMenuItem grade1,grade2; JTextField textOne,textTwo,textResult; JButton getProblem,giveAnswer; JLabel operatorLabel,message; Teacher teacherZhang;

teacherZhang=new Teacher(); teacherZhang.setMaxInteger(20); setLayout(new FlowLayout()); menubar=new JMenuBar(); choiceGrade=new JMenu("选择级别"); grade1=new JMenuItem("幼儿级别"); grade2=new JMenuItem("儿童级别"); grade1.addActionListener(new ActionListener(){ }); grade2.addActionListener(new ActionListener(){ }); choiceGrade.add(grade1); choiceGrade.add(grade2); menubar.add(choiceGrade); setJMenuBar(menubar); //【代码1】 //创建textOne,其可见字符长是5 textTwo=new JTextField(5); textResult=new JTextField(5); operatorLabel=new JLabel("+"); operatorLabel.setFont(new Font("Arial",Font.BOLD,20)); message=new JLabel("你还没有回答呢"); getProblem=new JButton("获取题目"); giveAnswer=new JButton("确认答案"); public void actionPerformed(ActionEvent e){ } teacherZhang.setMaxInteger(50); public void actionPerformed(ActionEvent e){ } teacherZhang.setMaxInteger(10); add(getProblem); add(textOne); add(operatorLabel); add(textTwo); add(new Label("=")); add(textResult); add(giveAnswer); add(message); textResult.requestFocus(); textOne.setEditable(false); textTwo.setEditable(false); getProblem.setActionCommand("getProblem"); textResult.setActionCommand("answer"); giveAnswer.setActionCommand("answer");

} teacherZhang.setJLabel(operatorLabel,message); //【代码2】//将teacherZhang注册为getProblem的ActionEvent事件监视器 //【代码3】//将teacherZhang注册为giveAnswer的ActionEvent事件监视器 //【代码4】//将teacherZhang注册为textResult的ActionEvent事件监视器 setVisible(true); validate(); setDefaultCloseOperation(DISPOSE_ON_CLOSE); }

MainClass.java

public class MainClass {

} public static void main(String[] args) { } ComputerFrame frame; frame=new ComputerFrame(); frame.setTitle("算术测试"); frame.setBounds(100,100,650,180);

实验2 布局与日历

模板代码

CalendarBean.java

import java.util.Calendar;

public class CalendarBean {

String [] day;

int year=2008,month=0;

public int getYear() {

}

public void setYear(int year) {

}

public int getMonth() {

}

public void setMonth(int month) {

this. …… 此处隐藏:12408字,全部文档内容请下载后查看。喜欢就下载吧 ……

实验八 图形用户界面与对话框.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2193462.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)