Java实例界面制作.ppt_第1页
Java实例界面制作.ppt_第2页
Java实例界面制作.ppt_第3页
Java实例界面制作.ppt_第4页
Java实例界面制作.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章 Java实例界面制作,ggao,1.设计目标,设计一个学生管理系统 功能设计 添加、修改、删除、查看学生信息 学生信息 学号,姓名,电话,寝室,职务,籍贯等 这一部分留在下一章建设 界面设计 主界面,查询界面,修改界面,添加界面,删除界面 界面切换 通过主界面可以切换到任意的其他界面 其他界面可以返回到主界面,1.1 主界面,1.2 添加界面,1.3 修改,暂时放一放这个功能,1.4 删除,1.5 查询,2 项目设计思路,利用Jframe组件创建一个窗口,作为程序的运行窗口 Jframe上放置Jpanel面板组件,作为程序的界面 应该有5个Jpanel,代表5个界面 Jpanel上放置各种其他组件来实现每个界面的功能 Jlabel标签组件用来放提示文字 Jbutton按钮组件用来放按钮 JTextField文本框组件用来放输入数据的文本框 Jtable表格组件用来放显示学生信息的表格,3 创建项目窗口,1. 创建项目 SMS 2. 创建包 Wtu 3. 创建主Java类 包含Main方法 mc(main class) 4. main方法中创建Jframe对象jsw,标题设置为“学生管理系统”,坐标及大小(200,100,800,600),JFrame jsw=new JFrame(“学生管理系统”);/生成一个jframe对象 jsw.setBounds(200,100,800,600);/设置窗口坐标及大小 jsw.setVisible(true);/显示窗口, 隐藏: 设置参数为false,4 制作主界面,1. 创建主界面Jpanel对象mjp,并将其添加到jsw上 JPanel mjp=new JPanel();/创建一个默认布局的面板表示主界面 mjp.setLayout(null);/设置mjp不使用布局,以实现其上组件的自定义布局 jsw.getContentPane().add(mjp);/添加mjp到jsw上,2. 创建一个Jlabel组件对象jml,用来显示“欢迎使用学生管理系统”,并放置在主界面jmp上 JLabel jml= new JLabel(“欢迎使用学生管理系统”);/创建jml对象 Jl.setBounds(100, 100, 200, 100);/设置jml坐标及大小 mjp.add(jml);/把jml添加到mjp(主界面)上面,3. 创建4个Jbutton组件对象,用来表示4个功能按钮,设置它们的坐标及大小,并将它们添加到mjp上 JButton jbtQ=new JButton(“查询“);/创建按钮组件对象 jbtQ.setBounds(100,400, 80, 40);/设置查询按钮坐标及大小 JButton jbtA=new JButton(“添加“);/创建按钮组件对象 jbtA.setBounds(200,400, 80, 40); JButton jbtU=new JButton(“修改“);/创建按钮组件对象 jbtU.setBounds(300,400, 80, 40); JButton jbtD=new JButton(“删除“);/创建按钮组件对象 jbtD.setBounds(400,400, 80, 40); jbtQ.add(jml);/把jbtQ(查询按钮对象)添加到mjp(主界面)上 jbtA.add(jml); jbtU.add(jml); jbtD.add(jml); 注意:观察老师把多条代码摆放的位置,而且要理解为什么是那样?,5. Java项目打包,编制好的项目如果想脱离eclipse运行 把项目打包成jar包 Jar(Java Archive,Java 归档文件),它是将许多文件组合成的一个压缩文件 包含main方法的jar包可以直接运行 电脑安装jdk的前提下,打包过程,1. 右键单击项目,选export 2. 在弹出的界面选JavaJAR file,然后点击next 3. 在弹出界面给定jar包位置及文件名,然后点击next 4. 在弹出的JAR packaging Options面板,不用修改配置,直接点击next 5. 在弹出的面板,选择包含Main方法的类,然后点击finish完成导出,运行Jar包,1. 鼠标直接单击可运行 2. 命令行运行 java jar test.jar,课堂练习1,实现如下的界面,并把项目打包,并创建快捷方式,通过点击快捷方式直接运行程序,6 制作其他界面的思路,可行的方法:在包含jsw的main方法中,比如要制作添加界面,再创建一个jpanel面板表示添加界面,创建文本框组件和按钮组件,并放置在其上,已完成该面板的界面设计。最后,通过把该面板添加到jsw对象上,来显示该面板 缺点:程序不好维护;蜕化成结构化设计 选择的方法:创建一个jpanel子类,界面及功能在该子类中完成,7 设计JPanel子类,该类是4个其他界面的抽象,通过该类可以创建4个不同的Jpanel对象 该类的界面目标 在包含jsw对象的main方法中使用该类创建对象时,对象就具有了完整的界面定义,而无需再设置 Ojpanel(other jpanel) 父类为Jpanel 实现父类的JPanel()构造方法,1. 创建OJpanel类,要选择构造函数一项,main方法不用选,2. 修改Ojpanel代码,让其继承JPanel类,3. 修改构造函数,让其执行父类的构造函数JPanel() 子类必须实现父类的一个构造函数,8 在OJpanel中设计界面,因为Ojpanel可以生成4中不同的界面,可以用4个方法来为不同的界面设计放在其上的组件 initQ()表示为添加界面设计组件的方法 该方法中要添加6个标签,6个文本框,2个按钮 并将它们添加到Jpanel上 此时的jpanel就是ojpanel(它具有jpanel的一切功能) 类中要使用自己,用this,1. 修改Ojpanel构造函数 增加一个参数ptype,如果ptype为1则执行添加界面的设计方法initQ() 并在构造方法中设置当前类布局为无 this. setLayout(null);,2.设计方法initQ() 创建Jlabel,JtextFiled,Jbutton组件对象 添加到当前面板 比如添加标签对象jl,则为:this.add(jl),表示把jl对象添加到由当前类产生的对象上,而当前类是一个从Jpanel对象派生的类,也就是把jl添加到一个jpanel面板对象上,int lx=100; int lxoffset=300; int ly=100; int lyoffset=100; int lw=40; int lh=50; JLabel jlxh= new JLabel(“学号“); jlxh.setBounds(lx, ly, lw, lh); JLabel jlxm= new JLabel(“姓名“); jlxm.setBounds(lx+lxoffset, ly, lw, lh); JLabel jldh= new JLabel(“电话“); jldh.setBounds(lx, ly+lyoffset, lw, lh); JLabel jlqs= new JLabel(“寝室“); jlqs.setBounds(lx+lxoffset, ly+lyoffset, lw, lh); JLabel jlzw= new JLabel(“职务“); jlzw.setBounds(lx, ly+lyoffset*2, lw, lh); JLabel jljg= new JLabel(“籍贯“); jljg.setBounds(lx+lxoffset, ly+lyoffset*2, lw, lh); int tx=200; int txoffset=300; int ty=115; int tyoffset=100; int tw=120; int th=30; int tlength=20; JTextField jtfxh=new JTextField(tlength); jtfxh.setBounds(tx, ty, tw, th); JTextField jtfxm=new JTextField(tlength); jtfxm.setBounds(tx+txoffset, ty, tw, th); JTextField jtfdh=new JTextField(tlength); jtfdh.setBounds(tx, ty+tyoffset, tw, th); JTextField jtfqs=new JTextField(tlength); jtfqs.setBounds(tx+txoffset, ty+tyoffset, tw, th); JTextField jtfzw=new JTextField(tlength); jtfzw.setBounds(tx, ty+tyoffset*2, tw, th); JTextField jtfjg=new JTextField(tlength); jtfjg.setBounds(tx+txoffset, ty+tyoffset*2, tw, th); JButton jbtA=new JButton(“添加“);/创建按钮组件对象 jbtA.setBounds(200,400, 80, 40); JButton jbtB=new JButton(“返回“);/创建按钮组件对象 jbtB.setBounds(300,400, 80, 40); this.add(jlxh); this.add(jlxm); this.add(jldh); this.add(jlqs); this.add(jlzw); this.add(jljg); this.add(jtfxh); this.add(jtfxm); this.add(jtfdh); this.add(jtfqs); this.add(jtfzw); this.add(jtfjg); this.add(jbtA); this.add(jbtB);,3. 在包含jsw的main方法中,创建OJpanel的添加界面对象ajp,并把其添加到jsw上,9 添加按钮事件,给mjp的添加按钮设置事件,实现切换界面的功能 jbtA.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) 这里放切换到添加界面的按钮 ); 切换方法(隐藏mjp,添加并显示ajp) mjp.setVisible(false);/把主界面mjp设置为不可见 jsw.getContentPane().add(ajp);/添加ajp到jsw上 ajp.setVisible(true);/显示添加界面ajp 在事件处理函数中,对象要变为final,10 返回按钮事件,在OJpanel类中给返回按钮,添加事件 jbtB.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) 隐藏谁?当前面板,可用this代替吗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论