欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    实验五 图形用户界面设计.docx

    • 资源ID:26128386       资源大小:14.90KB        全文页数:12页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验五 图形用户界面设计.docx

    实验五 图形用户界面设计 实验五图形用户界面设计(2) 一、实验目的 (1) 掌握编写独立运行的窗口界面的方法。 (2) 了解 Java Swing 组件的使用方法。 (3) 理解 Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 (4) 掌握常用图形用户界面的设计方法。 二、实验要求 通过实验理解java的事件处理机制,能够对常见事件AcitonEvent, WindowEvent, KeyEvent, MouseEvent进行处理。 三、实验内容 (一)建立独立运行的窗口界面并使用匿名类处理事件 最常使用的容器是窗口,在Java 中窗口由Frame或JFrame 类生成,编写Demo5_21.java 程序文件。 程序功能:创建一个具有关闭功能的空白窗口。源代码如下: import java.awt.*; import java.awt.event.*; public class Demo5_21 Demo5_21() Frame f=new Frame("初始窗口"); f.setSize(350,200); f.setVisible(true); /为窗口添加窗口事件适配器 f.addWindowListener(new WindowAdapter() /内部匿名类关闭窗口,实现方法windowClosing public void windowClosing(WindowEvent e) System.exit(0); ); public static void main(String args) new Demo5_21(); 编译并运行程序 思考 导入包时,可否将import java.awt.event.*;省去不写。为什么? (二)使用Swing 组件、了解事件处理机制 在Java 中,能够实现图形用户界面的类库有两个:java.awt 和javax.swing。前者称为抽象窗口工具库AWT(Abstract Windows Toolkit),后者是Java 基础类库JFC(Java Foundation Classes) 的一个组成部分,它提供了一套功能更强、数量更多、更美观的图形用户界面组件。Swing 组件名称和AWT 组件名称基本相同,但以J 开头,例如AWT 按钮类的名称是Button,在Swing 中的名称则是JButton。 先运行程序下面程序Demo5_22.java,然后按提示来分析、修改并体验程序。import java.awt.*; import java.awt.event.*; import javax.swing.*; class Demo5_22 extends JFrame implements ActionListener JTextField TOprand1; JTextField TOprand2; JTextField Result; JLabel LAdd,LSum; JButton BAdd,BClear; Container c=null; /构造方法,形成用户界面 public Demo5_22 () TOprand1=new JTextField("0.0000"); TOprand2=new JTextField("0.0000"); Result=new JTextField("0.0000"); LAdd=new JLabel("+"); LSum=new JLabel("="); BAdd=new JButton("加法"); BClear=new JButton("清除"); c=this.getContentPane(); c.setLayout(new FlowLayout(); c.add(TOprand1); c.add(LAdd); c.add(TOprand2); c.add(LSum); c.add(Result); c.add(BAdd); c.add(BClear); this.pack(); this.setVisible(true); BAdd.addActionListener(this); BClear.addActionListener(this); /匿名内部类实现事件处理 this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public void actionPerformed(ActionEvent e) double a,b,sum; if(e.getSource()=BAdd) a=Double.valueOf(TOprand1.getText().doubleValue(); b=Double.valueOf(TOprand2.getText().doubleValue(); sum=a+b; Result.setText(String.valueOf(sum); if(e.getSource()=BClear) TOprand1.setText("0.0000"); TOprand2.setText("0.0000"); Result.setText(String.valueOf("0.0000"); public static void main(String args) Demo5_22 mainFrame = new Demo5_22(); mainFrame.setSize(350, 200); mainFrame.setTitle("GUI实验一"); 基本容器JFrame比起Frame有何特点?为什么这里定义了一个 c=this.getContentPane(); 采用了什么布局管理器,各组件按什么次序加入组件的? 很多地方用到this,这个this指什么? 分析事件执行方法 actionPerformed里面的下面三条语句起何作用? a=Double.valueOf(TOprand1.getText().doubleValue(); b=Double.valueOf(TOprand2.getText().doubleValue(); Result.setText(String.valueOf(sum); 程序中对按钮事件的监听采用了什么方法? (三)ItemEvent事件,进一步理解事件处理机制 1选择复选框和单选框按钮的事件处理程序 程序功能:在Applte 上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用户输入的10 进制数,选择不同选项可转换为2、8、16 进制数。编写Demo6_4.java 程序文件,源代码如下: import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Demo5_23 extends Applet implements ItemListener TextArea area=new TextArea(6,30);/创建文本区 String Item="2 进制","8 进制","16 进制","10 进制" Checkbox cb=new Checkbox5; Checkbox radio=new Checkbox5; Label l=new Label("输入10 进制数"); TextField TF=new TextField(6);/创建单行文本框 public void init() add(l);add(TF); add(area); add(new Label(" 请选择进制:"); for(int i=0; i<4; i+) cbi=new Checkbox(Itemi); add(cbi); cbi.addItemListener(this); CheckboxGroup cbGroup=new CheckboxGroup();/创建单选框 add(new Label("请选择进制:"); for(int i=0; i<4; i+) radioi=new Checkbox(Itemi,cbGroup,false); add(radioi); radioi.addItemListener(this); public void itemStateChanged(ItemEvent e) int x=Integer.parseInt(TF.getText(); if (e.getItem ()="2 进制") area.append ("你选择的是"+e.getItem ()+ Integer.toBinaryString(x)+"n"); if (e.getItem ()="8 进制") area.append ("你选择的是"+e.getItem ()+ Integer.toOctalString(x)+"n"); if (e.getItem ()="16 进制") area.append ("你选择的是"+e.getItem ()+Integer.toHexString(x)+"n"); if (e.getItem ()="10 进制") area.append ("你选择的是"+e.getItem ()+x+"n"); 编译程序Demo5_23.java。编写显示Applet 的页面文件Demo5_23.html (四)菜单的响应事件 import java.awt.*; import java.awt.event.*; public class Demo5_24 extends Frame implements ActionListener Panel p=new Panel(); Button b=new Button("退出"); MenuBar mb=new MenuBar(); / 以下生成菜单组件对象 Menu m1=new Menu("文件"); MenuItem open=new MenuItem("打开"); MenuItem close=new MenuItem("关闭"); MenuItem exit=new MenuItem("退出"); Menu m12=new Menu("编辑"); MenuItem copy=new MenuItem("复制"); MenuItem cut=new MenuItem("剪切"); MenuItem paste=new MenuItem("粘贴"); Menu m2=new Menu("帮助"); MenuItem content=new MenuItem("目录"); MenuItem index=new MenuItem("索引"); MenuItem about=new MenuItem("关于"); Demo5_24 () super("添加菜单的窗口"); setSize(350,200); add("South",p); p.add(b); b.addActionListener(this); m1.add(open); / 将菜单项加入到菜单m1 中 m1.add(close); m1.addSeparator(); /在菜单中添加分隔条 m1.add(exit); open.addActionListener(this); /给菜单项open 注册事件监听器 exit.addActionListener(this); mb.add(m1); / 将菜单m1 加入到菜单栏mb 中 m12.add(copy); m12.add(cut); m12.add(paste); m1.add(m12);/将m12 作为2 级菜单添加到m1 菜单项中 m2.add(content); m2.add(index); m2.addSeparator(); m2.add(about); mb.add(m2); setMenuBar(mb); / 设置菜单栏为mb show();/ 显示组件 public static void main(String args) new Demo5_24(); public void actionPerformed(ActionEvent e) if (e.getActionCommand()="退出") System.exit(0); if (e.getActionCommand()="打开") new Demo5_3(); 四、实验练习题 1.在上周实验的基础上,添加事件响应,运行结果如图示界面。用户名和密码正确,显示如左图,否则显示如图。 2.在上周程序基础上完成猜数字游戏。 3.完成下面“个人信息调查”用户界面的设计,当选择相应选项时,单击“提交”,在文本框中显示提示信息,单击“清空”,内容清空

    注意事项

    本文(实验五 图形用户界面设计.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开