博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaGUI基本概念
阅读量:6315 次
发布时间:2019-06-22

本文共 1486 字,大约阅读时间需要 4 分钟。

Java中创建最简单的图形窗口就是使用JOptionPane类中的方法,属于javax.swing包。

 

一个图形用户界面(GUI)包含一个含有按钮,文本区域,其他屏幕显示组件的窗口框架

   
    JOptionPane类是一个简单的GUI类,它可以被用来显示信息和提示用户进行输入,支持图形 输入和输出。
   
    最常见的图形组件有按钮(JButton对象),文本域(JTextField对象),以及文本标签(JLable对象)。
   
    Java中所有的图形组件拥有共同的继承结构,所以他们都含有一些可以对属性进行访问和设置 的共同的函数,比如背景颜色,大小,字体等。
   
    组件被叫做布局管理器的对象放在框架或其他容器之中,比如BorderLayout,FlowLayout,   GridLayout 。可以通过把不同的布局管理器借助不同的容器进行嵌套已构成复合布局。
   
    当用户与屏幕上显示的图片组件进行交互时,Java会产生一种叫做事件的特殊对象。为了   构建一个交互式GUI,必须对这些事件进行响应。
   
    最常见的事件是ActionEvent,可以通过编写一个对MouseListenser接口进行了实现的类来 处理它。也可以通过编写一个对MouseInputAdapter类进行了扩展来实现对MouseEvent的
    响应。
   
    为了绘制图形和线条,我们需要编写一个对JPanel进行了扩展的类,并构建一个叫做 paintComponent的方法。
   
    通过使用timer对象可以使GUI动起来,该对象每隔一段固定的时间就触发一个行为监听器的 事件。

        
        Frame 框架: 屏幕上的窗口
   
        Component 组件:通常把像按钮或者文本输入域这些位于框架内部的图形部件成为组件
       
        由于Java中所有组件和框架有共同的继承结构,所以它们含有一些相同的属性。
        Swing GUI就是一个很有力的由于继承而产生的代码共享的例子,因为其中每一个组件都含
        有同一个父类的特征。
       
        布局管理器
        一个用来决定组件在框架或屏幕上其他容器中的位置,大小以及改变大小的行为的 Java对象。
       
        处理动作事件:
            当用户点击一个组件,在其上移动鼠标,或者以任何方式与其进行交互时,Java 的GUI系统都会建立一个特殊的事件event对象来表示这一行为。
       
        事件:
        一个代表用户与GUI组件间交互的对象,可以通过在程序中创建交互式组件来处理。
        如果不指定如何对某一事件做出反应,那么默认的操作是简单地忽略该事件。这样当用户点击一个按钮或者在文本域进行输入时,就不会触发任何操作。可以使用一种叫 做监听器listener的对象来完成对某一事件的响应。
       
        监听器:
        一个负责执行某一事件的响应代码的对象,每次事件发生时,都会通知它进行所对应的 操作。
        要处理一个事件,需要建立一个监听器对象并把它与相应的组件绑定,监听器对象中所含 事件发生时所执行的代码。
       
        Java事件处理的步骤:
                构建一个实现了ActionListener的类;
                将处理该事件的代码加到其中actionPerformed方法中;
                调用addActionListener方法来实现对该监听类的一个对象与所需组件进行绑定。
       
        复合式布局:
        通过使用多种不同的布局管理器来使组件的布局方式更加合理化,同时会更加复杂。
        布局管理器可以分层部署,并产生符合效果,这叫做复合式布局。
       
        在框架中使用panel面板容器,在panel面板上再使用布局··········
        面板是屏幕显示所需要的一个组件,它本身通常是不可见的,而常常被用作其它组件的的容器。面板中含有控制其中组件布局方式的自己的布局管理器。

转载地址:http://hqzaa.baihongyu.com/

你可能感兴趣的文章
没想到cnblog也有月经贴,其实C#值不值钱不重要。
查看>>
【转】LUA内存分析
查看>>
[转] Entity Framework Query Samples for PostgreSQL
查看>>
软件需求分析的重要性
查看>>
UVA465:Overflow
查看>>
HTML5-placeholder属性
查看>>
Android选择本地图片过大程序停止的经历
查看>>
poj 2187:Beauty Contest(旋转卡壳)
查看>>
《Flask Web开发》里的坑
查看>>
Python-库安装
查看>>
Git笔记
查看>>
普通人如何从平庸到优秀,在到卓越
查看>>
SLAM数据集
查看>>
c#学习笔记05——数组&集合
查看>>
【图论算法】Dijstra&BFS
查看>>
注册和上传文件(头像)
查看>>
使用OVS
查看>>
键盘回收的几种方法
查看>>
Python(条件判断和循环)
查看>>
day4 linux安装python
查看>>