JavaGUI基本概念

简介:

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面板上再使用布局·········· 
        面板是屏幕显示所需要的一个组件,它本身通常是不可见的,而常常被用作其它组件的的容器。面板中含有控制其中组件布局方式的自己的布局管理器。



本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/839628,如需转载请自行联系原作者

相关文章
|
2月前
|
数据库
补偿事务基本概念
补偿事务基本概念
22 2
|
7月前
|
Kubernetes 调度 Docker
k8s基本概念-2
k8s基本概念
32 0
|
7月前
|
存储 Kubernetes API
k8s基本概念-1
k8s基本概念
58 0
|
7月前
|
存储 NoSQL C语言
基本概念和术语
基本概念和术语
|
8月前
|
存储 Kubernetes 负载均衡
K8S(一)基本概念篇
最近公司要搭建一个微服务项目,之前的docker-compose部署的方式需要替换成K8S了,然后,哈哈,这个机会了又落到我身上了,虽然我并不知道怎么部署,但是我还是挺高兴的,又可以边学习边运用了,真是不赖。接下来不定期更新K8S系列文章,记录我的成长和踩坑记。
99 0
|
存储 NoSQL C语言
一、基本概念和术语
一、基本概念和术语
一、基本概念和术语
|
机器学习/深度学习 数据挖掘 开发者
基本概念| 学习笔记
快速学习基本概念。
68 0
基本概念| 学习笔记
|
存储 算法 NoSQL
数据结构与算法——基本概念和术语
数据结构与算法——基本概念和术语
|
存储 缓存 关系型数据库
LotusDB 设计与实现—1 基本概念
LotusDB 是一个基于 LSM Tree 进行设计,并结合 B+ 树优势的单机 KV 存储引擎,读写性能稳定、快速。
145 0
LotusDB 设计与实现—1 基本概念
|
程序员 开发者 Python
几个基本概念|学习笔记
快速学习 几个基本概念

热门文章

最新文章