JavaGUI基本概念-阿里云开发者社区

开发者社区> 云原生> 正文
登录阅读全文

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章