• 1. Java课程设计——王仁彪
  • 2. 1.基础知识讲解 2.基础练习 3.布置课设任务 4.撰写课设报告 5.毕业答辩检查2018/10/222课程设计安排
  • 3. 课堂表现,包括纪律、出勤(20%) 基础练习(20%) 课设答辩(30%) 课设报告(30%)关于你们的成绩。。。
  • 4. 通过图形用户界面(Graphics User Interface,GUI),用户和程 序。 Java的java.awt包,即Java抽象窗口工具包(AWT:Abstract Window Toolkit)提供了许多用来设计GUI的组件类。 41 Java Swing概述
  • 5. 2 窗口JFrame 2018/10/225 Java提供的JFrame类的实例是一个底层容器,即通常所称的窗口。其他组件必须被添加到底层容器中,以便借助这个地层容器和操作系统进行信息交互。 JFrame类是Container类的间接子类。当需要一个窗口时,可使用JFrame或其子类创建一个对象。
  • 6. 3 JFrame常用方法 2018/10/226JFrame() 创建一个无标题的窗口。 JFrame(String s) 创建标题为s的窗口。 public void setVisible(boolean b) 设置窗口是否可见,窗口默认是不可见的。 public void setDefaultCloseOperation(int operation) 该方法用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。 练习1 让咱们自己拥有一个可爱的窗体吧!
  • 7. 菜单是多数窗口程序重要组成部分,创建菜单通常需要菜单条Jmenubar(菜单条)、JMenu(菜单)、 JMenuItem(菜单项)三个组件配合完成,三者关系如下:4 创建菜单菜单条菜单菜单项
  • 8. 创建菜单条 JMenuBar menubr = new JMenuBar( ); 创建菜单 JMenu menuFile = new JMenu( ); 创建菜单项 JMenuItem openItem = new JMenuItem( ); 通常需要往窗口程序中加入菜单条,用顶层容器的方法将 菜单条加入容器中,同时往菜单条中加入菜单,菜单中加 入菜单项。8菜单创建方法建一个属于自己的菜单吧
  • 9. 文本框:由JComponent的子类JTextField创建 JTextField textField = new JTextField(int size ); 密码框:由Jcomponent的子类JPasswordField 文本区:由JComponent的子类JTexArea创建 按钮:由JComponent的子类JButton类创建 JButton button = Jbutton(String name); 标签:由JComponent的子类JLabel类用创建 Jlabel label = new Jlabel(String name); 还有下拉列表、密码框、单选按钮、表格等等。5 其它常用组件
  • 10. 完成下面练习登录界面简单记事本相信自己哦!
  • 11. 容器是一类能容纳其它组件的特殊组件,java的GUI程序就是通过向容器内添加组件完成的,组件需要被添加到容器中才能被显示。 最外面的容器是顶层容器(JFrame ,JDialog),里面放的是中间容器(JPanel),所有原子组件(Jbutton , JTextField) 都被添加到中间容器中。6 顶层容器与隶属层次顶层容器中间容器原子组件
  • 12. 在把组件添加到容器的过程中,需要控制组件在容器 中的显示位置时,该肿么办呢? Java通过java.awt包中的布局管理器来实现,当把组件添加到容器中时,设置容器的布局,从而确定组件的位置,常用的布局方式有流式布局(FlowLayout)、边界布局(BorderLayout)、网格布局(GridLayout)7 布局管理器
  • 13. 流式布局——FlowLayout(默认布局) 按照从左到右的流动顺序布置swing组件,当一行排不下时,就另起一行继续布置,直到所有组件布置完成。 方法如下: 创建布局对象 FlowLayout flow=new FlowLayout(); 容器con使用布局对象 con.setLayout(flow); con可以使用Container类提供的add方法将组件顺序地添 加到容器中; 7 布局管理器试一下吧
  • 14. 边界布局——BorderLayout(边界布局) 容器被分为5个区域:东(east) 、西(west) 、南(south) 、北(north) 、中(center) 方法如下: JPanel p = new Jpanel( ); p.setLayout(new BorderLayout( )); p.add(new Button(“ok”),BorderLayout.SOUTH); 7 布局管理器试一下吧
  • 15. 网格布局——GridLayout(边界布局) 按照网格形式布局的布局管理器,容器的矩形区域被分成等高和等宽的行和列,每个组件占用其中一个小矩形区域。 方法如下: JPanel p = new Jpanel( ); p.setLayout(new GridLayout(int rows, int cols)) p.add(new Button(“ok”)); 7 布局管理器试一下吧
  • 16. 当用户在文本框中键入文本后按回车键、单击按钮、在一个下拉式列表表中选择一个条目等操作时,都发生界面事件。 事件源 :能够产生事件的对象都可以成为事件源 . 监视器 :事件源通过调用相应的方法将某个对象注册为自己的监视器。对于文本框,这个方法是:addActionListener(监视器); 事件源注册监视器之后,相应的操作就会导致相应的事件的发生,并通知监视器,监视器就会作出相应的处理。 8 处理事件
  • 17. 2018/10/22173.处理事件的接口: 监视器负责处理事件源发生的事件。监视器是一个对象,为了处理事件源发生的事件,监视器这个对象会自动调用一个方法来处理事件。 Java规定:为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,那么当事件源发生事件时,监视器就自动调用被类重写的某个接口方法。事件处理模式
  • 18. ActionEvent事件 1. ActionEvent事件源 :文本框、按纽、菜单项、密码框和单选按纽都可以触发ActionEvent事件,即都可以成为ActionEvent事件的事件源。 2.注册监视器: 能触发ActionEvent事件的组件使用 addActionListener(ActionListener listen) 将实现ActionListener接口的类的实例注册为事件源的监视器。 3.ActionListener接口 : ActionListener接口在java.awt.event包中,该接口中只有一个方法: public void actionPerformed(ActinEvent e) 事件源触发ActionEvent事件后,监视器将发现触发的ActionEvent事件,然后调用接口中的方法:actionPerformed(ActinEvent e)对发生的事件作出处理。ActionEvent类事先创建的事件对象就会传递给该方法的参数e。 4.ActionEvent类中的方法 : public Object getSource() 调用该方法可以获取发生ActionEvent事件的事件源对象的引用。 public String getActionCommand() 调用该方法可以获取发生ActionEvent事件时,和该事件相关的一个命令字符串。
  • 19. 创建一个类,并实现ActionListener接口,构造方法中 做如下实现: 创建窗体并给窗体命名 设置窗体大小,以像素为单位 创建中间容器(JPanel)和其它原子组件 组件添加动作事件 设置中间容器的布局方式,将原子组件添加到中间容器里。 判断窗口关闭执行的操作 显示整个窗体。8 创建GUI程序的过程
  • 20. 完成如下计算器9 课程设计
  • 21. 课程设计---布局设计c_top(content下NORTH)content(borderlayout布局)c_left content下WEST GridLayoutc_right content下EAST BorderLayoutcr_top GridLayoutcr_bottom GridLayout
  • 22. 2018/10/2222