黑马程序员----JavaGUI

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

GUI:Graphical User Interface(图形用户接口)
CLI:Cammand Line User Interface(命令行用户接口)

java为图形用户界面提供的类在java.awt和javax.swing两个包中。
awt:Abstract Windowsp Toolkit(抽象窗口工具包),需调用本地系统方法实现功能。
swing:在awt基础上建立一套图形界面系统,提供更多组件,完全有java实现,增强移植性。

awt框架
这里写图片描述
component (组件)是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互。典型图形用户界面中的按钮、复选框和滚动条都是组件示例。
Component 类是与菜单不相关的 Abstract Window Toolkit 组件的抽象超类。还可以直接扩展类 Component 来创建一个轻量级组件。轻量级组件是与本机不透明窗口不相关的组件。
Component (容器),能够添加组件的组件。
Window (窗口)对象是一个没有边界和菜单栏的顶层窗口。窗口的默认布局是 BorderLayout。
Dialog (对话框)是一个带标题和边界的顶层窗口,边界一般用于从用户处获得某种形式的输入。
FileDialog (文件对话框)类显示一个对话框窗口,用户可以从中选择文件。
Button(按钮)此类创建一个标签按钮。当按下该按钮时,应用程序能执行某项动作。
Label (标签)对象是一个可在容器中放置文本的组件。一个标签只显示一行只读文本。文本可由应用程序更改,但是用户不能直接对其进行编辑。
CheckBox(复选框)是一个可处于“开”(true) 或“关”(false) 状态的图形组件。单击复选框可将其状态从“开”更改为“关”,或从“关”更改为“开”。
TextComponent 类是所有允许编辑文本的组件的超类。
TextArea 对象是显示文本的多行区域。可以将它设置为允许编辑或只读。
TextField 对象是允许编辑单行文本的文本组件。

布局管理器
常见布局管理器:
FlowLayout(流式布局管理器),从左到右,上到下,Panel默认布局管理器
BorderLayout(边界布局管理器),东南西北中,Frame默认布局管理器
GridLayout(网格布局管理器):规则的矩阵
CardLayout(卡片布局管理器):选项卡
GridBagLayout(网格包布局管理器):非规则的矩阵

事件监听机制:
将事件监听器注册到事件源,监听器监听到外部动作作用于事件源后,将事件对象传递给事件处理方式,对事件进行处理。
退出窗口实例

    public static void main(String[] args) {
        //创建一个名为"窗口"的窗口
        Frame f =new Frame("窗口");
        //设置窗口默认大小及位置背景色
        f.setBounds( 150, 20,900, 600);
        f.setBackground(Color.darkGray);
        //创建事件监听器
        WindowAdapter wa = new WindowAdapter() {
            //覆写处理方法
            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("关闭");
                System.exit(0);
            }
        };
        //将监听器与组件绑定
        f.addWindowListener(wa);
    //将窗口设置为可见的
        f.setVisible(true);
    }

鼠标双击实例:

public class Demo2 {
    public static void main(String[] args) {
        //创建窗口
        Frame f = new Frame("实例窗口");
        f.setBounds(80, 20, 800, 500);
        f.setLayout(new FlowLayout());
        final TextArea ta = new TextArea(10, 100);
        Button b =new Button("按钮");
        //给按钮绑定事件监听器,监听鼠标动作
        b.addMouseListener(new MouseAdapter() {
        int i=0;
            @Override
            public void mouseClicked(MouseEvent e) {
                //判断鼠标点击次数,为双击则在文本框中显示双击次数
                if(e.getClickCount()==2){
                    ta.setText("双击次数"+i++);
                }

            }
        });
        f.add(ta);
        f.add(b);
        f.setBackground(Color.LIGHT_GRAY);
        f.setVisible(true);
    }

}

键盘监听实例:

public class Demo3 {
    public static void main(String[] args) {
        Frame f = new Frame("键盘监听");
        f.setBounds(100, 30, 500, 400);
        f.setBackground(Color.GRAY);
        TextArea tx = new TextArea(10, 30);
        f.setLayout(new FlowLayout());
        tx.addKeyListener(new KeyAdapter() {

            @Override
            public void keyPressed(KeyEvent e) {
                //监听键盘输入并将将按键信息值打印在控制台
                System.out.println(e.getKeyChar()+"--->"+e.getKeyText(e.getKeyCode()));
            }

        });
        f.add(tx);
        f.setVisible(true);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值