黑马程序员_Java图形用户界面GUI

-------    android培训java培训、期待与您交流! ----------

    GUI(Graphical User Interface)图形用户接口。用图形的方式,来显示计算机操作的界面,这样更方便更直观

    CLI(Commandline User Interface )命令行用户接口。DOS命令行操作,需要记忆常用命令操作,不直观。

Java为GUI提供的对象都在java.awt和javax.swing这两个包中。

   java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件

   javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件

布局管理器

    组件在容器中的位置和大小是由布局管理器来决定的,所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理

java提供了五种布局管理器:

  1.流式布局管理器(FlowLayout)         

           从左到右的顺序排列

           Panel默认的布局管理器

  2.边界布局管理器(BorderLayout

          东East,南South,西West,北North,中Center

          JFrame和JDialog默认的布局管理器

  3.网格布局管理器(GridLayout

          规则的矩阵(典型应用计算器)

  4.卡片布局管理器(CardLayout

          选项卡
  5.网格包布局管理器( GridBagLayout
          非规则的矩阵
 
                                                                    常用组件继承关系图
 
开发GUI程序步骤:

    继承JFrame

    定义需要的组件

    创建组件

    设置布局管理器

    添加组件

    显示窗体

常用组件

   JPanel:面板组件,非顶层容器,一个界面只可以有一个JFrame窗体组件,但可以有多个JPanel组件,JPanel上可以使用FlowLayout、GridLayout、BorderLayout等各种布局管理器,使效果更复杂

                可以在JFrame上加JButton也可以在,JPanel上加JButton,在JFrame上 加JPanel

   文本框(JTextField)、密码框(JPasswordField)、标签(JLable)

  复选框组件(JCheckBox)、单选框组件(JRadioButton),同一组单选按钮必须先创建ButtonGroup,然后把单选框放入到ButtonGroup中,对于单选框一定要把jrb1,jrb2加入到一个ButtonGroup中

  下拉框组件JComboBox,先定义数组再将数组的名字作为参数加入

   列表框组件JList(默认直接全部展现出来)

   滚动窗格组件JScrollPanel

setDefaultCloseOperation(EXIT_ON_CLOSE)窗口关闭及最大最小化

 

时间监听机制及组成

   java事件处理是采取“委派事件模型”,就是指产生事件的对象(事件源)会把此信息传递给事件的监听者处理的一种方式,而这里所说的信息实际上是java.awt.event 事件类库里某个类所创建的对象,我们暂时把它称为“事件的对象”

组成:事件源(组件)、事件(Event)、监听器(Listener)、事件处理

一个类实现监听的步骤: 

    a.实现相应的接口(Keytener/MouseListener/ActionListener/WindowListener)

    b.把接口的处理方法根据需要重新编写

    c. 注册监听

    d.设置监听的command,setActionCommand(),getActionCommand()

Java.awt.event包和javax.swing.event包定义了各种事件类型,常见的事件类型有:

   ActionEvent:按下按钮或者双击一个列表或选中某个菜单

   AdjustmentEvent:操作一个滚动条时

   ComponentEvent:当一个组件隐藏,移动,改变大小时候

   ContainerEvent:当一个组件从容器中加入或者删除

    FocusEvent:当一个组件获得或是失去焦点时候

    ItemEvent:当一个复选框或者是列表被选中,当一个选择框或者选择菜单被选中

    KeyEvent:当从键盘的按键被按下,松开时发生

    MouseEvent:当鼠标被拖动、移动、点击、按下

    TextEvent:当文本框和文本域的文本发生改变时

    WindowEvent:当一个窗口激活、关闭、失效、恢复、最小化

       事件监听机制流程图

事件处理机制流程:

      确定事件源(容器或组件)
      通过事件源对象的addXXXListener()方法将侦听器注册到该事件源上
      该方法中接收XXXListener的子类对象,或者XXXListener的子类XXXAdapter的子类对象
      一般用匿名内部类来表示
      在覆盖方法的时候,方法的参数一般是XXXEvent类型的变量接收

      事件触发后会把事件打包成对象传递给该变量。(其中包括事件源对象。通过getSource()或者,getComponent()获取

 

菜单 

    MenuBar,Menu,MenuItem
 先创建菜单条,再创建菜单,每一个菜单中建立菜单项
 也可以菜单添加到菜单中,作为子菜单
 通过 setMenuBar () 方法,将菜单添加到 Frame

记事本界面:

  涉及到菜单的组件

    菜单组件

       JMenuBar 菜单条组件树干

        JMenu 菜单组件  树枝

        JMenuItem菜单项组件树叶

    二级菜单制作

        JMenu里面可以嵌套JMenu

    工具条组件

       JToolBar 容器类组件

 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值