java——GUI

来源:互联网 发布:淘宝巴黎心店卖假货 编辑:程序博客网 时间:2024/05/19 00:14

    GUI是图形用户界面的英文缩写,说点直白一点GUI就是窗口、按钮等元素的总称。java中实现GUI是利用java.awt包及其子包进行性编程的。

    在java.awt包中component和container是的它的两个核心,前者包括了Button、TextField等实现类;后者是component的子类,但是后者是一些Frame、panel等容器实现类,这些容器元素可以容纳Component对象。

    说的简单一点就是容器对象中可以添加Button、TextField等这些对象。下图中也进一步说明了这一点。



布局管理器

包含了FlowLayout,BorderLayout,GridLayout,布局管理器主要是管理添加到容器中的元素的布局。

就像一间房子,买了好多的家具,至于怎么摆放这些家具,完全是由这个房子的主人去决定的,而这个房子的主人就是布局管理器。

举例:设置7个按钮,利用FlowLayout居中排列。

import java.awt.*;public class TestFlowLayout2 {    public static void main(String args[]) {        Frame f = new Frame("Java Frame");        FlowLayout l =             new FlowLayout(FlowLayout.CENTER, 20, 40);        f.setLayout(l);         f.setLocation(300,400);        f.setSize(300,200);        f.setBackground(new Color(204,204,255));        for(int i = 1; i<=7; i++){            f.add(new Button("BUTTON"));        }        f.setVisible(true);    }}

事件监听

为容器中的Button等元素添加是事件,并利用实现对象监听器接口的对象,进行监听。

举例:点击键盘“箭头向上”键,就在cmd窗口中打印“up”

<pre name="code" class="java">import java.awt.*;import java.awt.event.*;public class TestKey{public static void main(String arg[]){new KeyFrame().launchFrame();}}class KeyFrame extends Frame{public void launchFrame(){setSize(200,200);setLocation(300,300);addKeyListener(new MykeyMon()); //注册事件setVisible(true);}}class MykeyMon extends KeyAdapter{   //监听器类public void keyPressed(KeyEvent e){int keyCode=e.getKeyCode();if (keyCode==KeyEvent.VK_UP){System.out.println("up");  //监听器动作}}}

监听器类创建方法:

内部类:在外围类的内部书写一个类,方便此类对成员变量和成员方法的访问。

对上面的例子的改造。

import java.awt.*;import java.awt.event.*;public class TestKey{public static void main(String arg[]){new KeyFrame().launchFrame();}}class KeyFrame extends Frame{public void launchFrame(){setSize(200,200);setLocation(300,300);addKeyListener(new MykeyMon());setVisible(true);}class MykeyMon extends KeyAdapter{   //内部类public void keyPressed(KeyEvent e){int keyCode=e.getKeyCode();if (keyCode==KeyEvent.VK_UP){System.out.println("up");}}}}

匿名类:创建时用New语句来声明它们。

对上面的例子的改造。

import java.awt.*;import java.awt.event.*;public class TestKey{public static void main(String arg[]){new KeyFrame().launchFrame();}}class KeyFrame extends Frame{public void launchFrame(){setSize(200,200);setLocation(300,300);this.addKeyListener(new MykeyMon(){public void keyPressed(KeyEvent e){    //匿名类int keyCode=e.getKeyCode();if (keyCode==KeyEvent.VK_UP){System.out.println("up");}}});setVisible(true);}}

    总结:1.GUI通过java.awt包及其子包实现。2.容器元素中添加Button等这些元素。3.布局管理器管理容器中元素的布局。4.容器中的元素可以添加事件监听。


5 0
原创粉丝点击