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

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

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

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

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

    实验五 Java图形用户界面设计 §5 Java 图形用户界面设计 §5.1实验目的、内容及性质 掌握Java 的GUI 设计技术,掌握AWT 和Swing 的应用技巧。实验性质:验证、必做 实验学时:2学时 §5.2问题及思考 1、最常见的AWT以及Swing控件用法。 2、几个常见布局总结 3、区分容器控件和一般非容器控件 4、Java事件几种关键组成部分以及事件处理流程 §5.3实验指导 1、Swing示例 /*需要哪些组件,如何布局?*/ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MyFrm extends JFrame/从JFrame继承 /*声明界面需要使用的控件*/ JLabel lbl_name =new JLabel("用户名"); JLabel lbl_pwd =new JLabel("密码"); JTextField txt_name=new JTextField(); JPasswordField txt_pwd=new JPasswordField(); JButton btn_OK=new JButton("登陆"); JButton btn_Cancel=new JButton("取消"); /*在构造函数中将控件放置在JFrame上*/ public MyFrm() /*获取当前Frame的内容面板*/ JPanel jp=(JPanel)this.getContentPane(); /*设置内容面板的布局Layout*/ jp.setLayout(new GridLayout(3,2); jp.add(lbl_name);jp.add(txt_name); jp.add(lbl_pwd);jp.add(txt_pwd); jp.add(btn_OK);jp.add(btn_Cancel); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public static void main(String arg) /*纯Java样式显示窗体*/ JFrame.setDefaultLookAndFeelDecorated(true); /*实例化当前窗体类*/ MyFrm frm=new MyFrm(); frm.setSize(200,200); frm.setVisible(true); 2、常用布局 1)、流布局:FlowLayout 从左到右,自上而下方式在容器中排列,控件的大小不会随容器大小变化. 容器.setLayout(new FlowLayout(FlowLayout.LEFT); 2)、网格布局:GridLayout 按照指定行数与列数,将容器分成大小相等的单元格每个单元格放置一个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15); 3)、边界布局:BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout(); 窗口的内容面板默认布局就是边界布局。 容器.add(控件,BorderLayout.NORTH); 4)、混合布局:使用JPanel,将多个布局组合在一起使用 JPanel jp=(JPanel)this.getContentPane(); for(int i=0;i事件源侦听者接收事件->自动调用相应事件处理函数. 编程模板: class MyFrm extends JFrame implements ActionListener JButton btn=new JButton("OK"); . public MyFrm() . btn.addActionListner(this); . public void actionPerformed(ActionEvent e) . if(e.getSource()=btn) Java事件处理示例: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyFrm extends JFrame implements ActionListene r /* 界面中需要的组件作为属性声明 */ JTextField txt = new JTextField(10); JLabel lbl = new JLabel("姓名"); JButton btn = new JButton("查询"); /* 组件在构造函数中放置在窗体JFrame上 */ public MyFrm() /* 获取JFrame的内容面板ContentPane,控件放在该面板上 */ JPanel jp = (JPanel) this.getContentPane(); /* 设置面板布局Layout,如何放? */ jp.setLayout(new FlowLayout(); jp.add(lbl); jp.add(txt); jp.add(btn); /* 为事件源加一个侦听者*/ btn.addActionListener(this); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /* 事件处理方法*/ public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(this, "btn点击"); public static void main(String arg) JFrame.setDefaultLookAndFeelDecorated(true);/ 设置纯Java样式 MyFrm frm = new MyFrm(); frm.setSize(400, 300); frm.setVisible(true); 注意:在做下列题目前仔细阅读第一个示例,彻底弄懂Swing界面设计 §5.4实践编程 1、调试运行Swing示例 2、调试运行Java事件处理示例 3、依据题1、2,编写如下界面 当用户点击”Click Me”按钮,显示消息对话框,消息为” Click Me 按钮被点击”。package Ex5_3; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyFrm extends JFrame implements ActionListener JButton btn=new JButton("Click Me"); public MyFrm() JPanel jp=(JPanel)this.getContentPane(); jp.setLayout(new FlowLayout(); jp.add(btn); btn.addActionListener(this); this.setTitle("Action Event"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(this,"Click Me 按钮被点击"); package Ex5_3; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test public static void main(String args) MyFrm frm = new MyFrm(); frm.setSize(400, 300); frm.setVisible(true); 4、编写一个程序实现用户登录界面 当用户登录按下确定键,判断用户是否录入了用户名与密码,如果没有按或用户名不为admin 密码不为1234 都需要提示错误。 package Ex5_4; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyFrm extends JFrame implements ActionListener JLabel lbl_name =new JLabel("用户名"); JLabel lbl_pwd =new JLabel("密码"); JTextField txt_name=new JTextField(); JPasswordField txt_pwd=new JPasswordField(); JButton btn_OK=new JButton("登陆"); JButton btn_Cancel=new JButton("取消"); public MyFrm() JPanel jp=(JPanel)this.getContentPane(); jp.setLayout(new GridLayout(3,2,10,5); jp.add(lbl_name);jp.add(txt_name); jp.add(lbl_pwd);jp.add(txt_pwd); jp.add(btn_OK);jp.add(btn_Cancel); this.setTitle("登陆"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn_OK.addActionListener(this); public void actionPerformed(ActionEvent e) String uname=txt_name.getText(); String upwd=txt_pwd.getText(); if(uname.equals("")|upwd.equals("") JOptionPane.showMessageDialog(this, "用户名或密码未输入!"); else if(!uname.equals("admin")|!upwd.equals("1234") JOptionPane.showMessageDialog(this, "用户名或密码输入错误!"); else JOptionPane.showMessageDialog(this, "用户名或密码输入正确!"); package Ex5_4; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test public static void main(String args) JFrame.setDefaultLookAndFeelDecorated(true); MyFrm frm=new MyFrm(); frm.setSize(400,200); frm.setVisible(true); 5、利用合适的布局和Swing控件完成下题 按照界面使用相应控件与合适的布局完成下题,要求按生成随机数按纽产生三个随机整数0到100之间,按计算平均数按纽计算平均值,如图所示,初始界面 参考:int x=(Math.random()*41+60); 产生随机数 txt1.setText(x+”);将随机数赋予文本框txt1 package Ex5_5; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyFrm extends JFrame implements ActionListener JLabel lbl =new JLabel("随机数字一"); JLabel lb2 =new JLabel("随机数字二"); JLabel lb3 =new JLabel("随机数字三"); JLabel lb4 =new JLabel("三数平均值"); JTextField txt1=new JTextField(); JTextField txt2=new JTextField(); JTextField txt3=new JTextField(); JTextField txt4=new JTextField(); JButton btn_start=new JButton("生成随机数"); JButton btn_average=new JButton("计算平均数"); public MyFrm() JPanel jp=(JPanel)this.getContentPane(); jp.setLayout(new GridLayout(5,2,10,5); jp.add(lbl);jp.add(txt1); jp.add(lb2);jp.add(txt2); jp.add(lb3);jp.add(txt3); jp.add(lb4);jp.add(txt4); jp.add(btn_start);jp.add(btn_average); this.setTitle("三个随机数字"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn_start.addActionListener(this); btn_average.addActionListener(this); public void actionPerformed(ActionEvent e) if(e.getSource()=btn_start) int x=(int)(Math.random()*41+60); txt1.setText(x+""); int y=(int)(Math.random()*41+60); txt2.setText(y+""); int z=(int)(Math.random()*41+60); txt3.setText(z+""); if(e.getSource()=btn_average) double x=Double.valueOf(txt1.getText(); double y=Double.valueOf(txt2.getText(); double z=Double.valueOf(txt3.getText(); double t=(x+y+z)/3; txt4.setText(t+""); package Ex5_5; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test public static void main(String args) MyFrm frm=new MyFrm(); frm.setSize(400,200); frm.setVisible(true); 6编写程序实现如下界面,实现事件如果按下座位i 就在控制台中显示“座位i被选中”例如按下“座位0“,则输出座位0被选中” package Ex5_6; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyFrm extends JFrame implements ActionListener JButton btn0=new JButton("讲台"); JButton btn1=new JButton("座位1"); JButton btn2=new JButton("座位2"); JButton btn3=new JButton("座位3"); JButton btn4=new JButton("座位4"); JButton btn5=new JButton("座位5"); JButton btn6=new JButton("座位6"); public MyFrm() JPanel jp=(JPanel)this.getContentPane(); JPanel jp1=new JPanel(); jp1.setLayout(new GridLayout(); jp1.add(btn0); jp.add(jp1,BorderLayout.NORTH); JPanel jp2=new JPanel(); jp2.setLayout(new GridLayout(2,3); jp2.add(btn1);jp2.add(btn2);jp2.add(btn3); jp2.add(btn4);jp2.add(btn5);jp2.add(btn6); jp.add(jp2,BorderLayout.CENTER); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); btn4.addActionListener(this); btn5.addActionListener(this); btn6.addActionListener(this); public void actionPerformed(ActionEvent e) if(e.getSource()=btn1) System.out.println("座位1被选中"); if(e.getSource()=btn2) System.out.println("座位2被选中"); if(e.getSource()=btn3) System.out.println("座位3被选中"); if(e.getSource()=btn4) System.out.println("座位4被选中"); if(e.getSource()=btn5) System.out.println("座位5被选中"); if(e.getSource()=btn6) System.out.println("座位6被选中"); public static void main(String args) MyFrm frm=new MyFrm(); frm.setSize(1000,500); frm.setVisible(true); 7 完成以下窗体制作 参考:这一题考虑使用组合布局,将上面控件放置在JPanel上,再将JPanel放到内容面板的中间。下面四个按钮先放在某JPanel再放置在内容面板的South部分 package Ex5_7; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class LoginFrm extends JFrame implements ActionListener JLabel lb_name=new JLabel("姓名:"); JLabel lb_sex=new JLabel("性别:"); JLabel lb_profession=new JLabel("身份:"); JLabel lb_unit=new JLabel("单位:"); JLabel lb_IDnum=new JLabel("证件号码:"); JLabel lb_rDate=new JLabel("注册日期:"); JLabel lb_eDate=new JLabel("有效日期:"); JTextField txt_name=new JTextField();

    注意事项

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

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




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

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

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

    收起
    展开