实验7GUI编程及事件处理Word文档下载推荐.docx

上传人:b****6 文档编号:16139867 上传时间:2022-11-20 格式:DOCX 页数:22 大小:300.17KB
下载 相关 举报
实验7GUI编程及事件处理Word文档下载推荐.docx_第1页
第1页 / 共22页
实验7GUI编程及事件处理Word文档下载推荐.docx_第2页
第2页 / 共22页
实验7GUI编程及事件处理Word文档下载推荐.docx_第3页
第3页 / 共22页
实验7GUI编程及事件处理Word文档下载推荐.docx_第4页
第4页 / 共22页
实验7GUI编程及事件处理Word文档下载推荐.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

实验7GUI编程及事件处理Word文档下载推荐.docx

《实验7GUI编程及事件处理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验7GUI编程及事件处理Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。

实验7GUI编程及事件处理Word文档下载推荐.docx

菜单有“文件”、“编辑”、“格式”、“窗口”、“帮助”。

其中,文件菜单项有子菜单项:

新建、打开、关闭、退出;

编辑菜单项有子菜单项:

复制、粘贴、查找、替换、定位;

“格式”菜单可以设置前景色、背景色、字体的风格、指定字体格式等内容;

帮助菜单项有子菜单项:

用户帮助、版本说明。

采用Windows操作系统的外观。

3.编写程序,实现通过鼠标滚轮实现对一个圆形的大小控制及通过键盘实现圆形的移动。

4.编写程序,实现用户注册的功能。

具体包括用户的用户名、密码、确认密码、性别、出生年月。

另外设计两个按钮“确认”和“取消”。

当用户按下“确认”按钮时,可以将注册信息在屏幕上显示出来。

如果按下“取消”,则退出用户注册。

要求使用布局管理器(布局管理器主要包括:

FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout。

四、实验要求

1、了解java系统图形用户界面的基本工作原理和界面的设计步骤;

2、了解图形用户界面的事件响应机制;

3、掌握图形用户界面各种常用的基本组建的使用方法及其事件响应;

4、掌握图形用户界面各种布局策略的设计与使用。

五、实验环境

1、PC微机;

2、DOS操作系统或Windows操作系统;

3、Sdk程序集成环境或Jbuilder程序集成环境。

六、实验步骤

1、输入源程序;

2、利用相关工具(Eclipse运行本程序);

七、源码及结果

计算器的数据流程图:

因为GUI编程的流程不止一个。

这里只给出了计算过程的流程图:

计算器源码:

packageshiyan7;

importjava.awt.BorderLayout;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

importjavax.swing.JTextField;

importjavax.swing.UIManager;

importjavax.swing.UnsupportedLookAndFeelException;

importcom.sun.java.swing.plaf.windows.WindowsLookAndFeel;

/**

*单步计算的计算器王维

*/

@SuppressWarnings("

serial"

publicclassCounterextendsJFrame{

privatedoublenum1;

privatedoublenum2;

privatecharoper;

privatebooleanenableOper=true;

privatebooleanstart=true;

//GUI对象

privateJButtonjb[]=newJButton[10];

privateJTextFieldfield;

publicCounter(){

field=newJTextField();

add(field,BorderLayout.NORTH);

JPanelpa=newJPanel(newGridLayout(4,4,8,8));

JButtonjbdiv=newJButton("

/"

);

JButtonjbmul=newJButton("

*"

JButtonjbsub=newJButton("

-"

JButtonjbadd=newJButton("

+"

JButtonjbeq=newJButton("

="

JButtonjbdigt=newJButton("

."

//创建数字按钮对象,并添加监听器

for(inti=0;

i<

=9;

i++){

jb[i]=newJButton(i+"

"

jb[i].addActionListener(newDigitListener(i));

}

//运算符按钮添加监听器

jbmul.addActionListener(newOperListener('

*'

));

jbdiv.addActionListener(newOperListener('

/'

jbadd.addActionListener(newOperListener('

+'

jbsub.addActionListener(newOperListener('

-'

//小数点按钮添加监听器

jbdigt.addActionListener(newPointListener('

.'

jbeq.addActionListener(newEqualListenr());

//开始布局

pa.add(jb[7]);

pa.add(jb[8]);

pa.add(jb[9]);

pa.add(jbadd);

pa.add(jb[4]);

pa.add(jb[5]);

pa.add(jb[6]);

pa.add(jbsub);

pa.add(jb[1]);

pa.add(jb[2]);

pa.add(jb[3]);

pa.add(jbmul);

pa.add(jb[0]);

pa.add(jbdigt);

pa.add(jbeq);

pa.add(jbdiv);

add(pa,BorderLayout.CENTER);

}

/*

*计算

publicStringcalc(){

Stringexpr=field.getText();

oper=0;

expr.length();

charc=expr.charAt(i);

if(isOper(c)){

oper=c;

num1=Double.parseDouble(expr.substring(0,i));

num2=Double.parseDouble(expr.substring(i+1));

}

switch(oper){

case'

:

num1=num1+num2;

break;

num1=num1-num2;

num1=num1*num2;

num1=num1/num2;

System.out.println(num1);

returnnum1+"

;

privatebooleanisOper(charop){

if(op=='

||op=='

returntrue;

returnfalse;

publicstaticvoidmain(String[]args){

try{

UIManager.setLookAndFeel(newWindowsLookAndFeel());

}catch(UnsupportedLookAndFeelExceptione){

e.printStackTrace();

Counterc=newCounter();

c.setSize(250,250);

c.setDefaultCloseOperation(EXIT_ON_CLOSE);

c.setLocationRelativeTo(null);

c.setVisible(true);

*数字监听器

classDigitListenerimplementsActionListener{

privateintnum;

publicDigitListener(intnum){

this.num=num;

@Override

publicvoidactionPerformed(ActionEvente){

if(start==false)

field.setText(field.getText().concat(num+"

else{

field.setText(num+"

start=false;

*运算符监听器

classOperListenerimplementsActionListener{

privatecharop;

publicOperListener(charop){

this.op=op;

if(!

enableOper||field.getText().equals("

))

return;

calc();

if(oper==0)

field.setText(field.getText().concat(op+"

else

field.setText(calc().concat(op+"

*小数点监听器

classPointListenerimplementsActionListener{

privatecharch;

publicPointList

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

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1