MEC@JavaSE@进阶篇@笔记01@窗口编程技术

一、GUI

全称:Graphical User Interface,即,图形用户界面编程技术。

三要素:控件类、定位技术和交互技术,是GUI的三个基本要素。

1、定位技术

又称“布局管理”。这是java首先提出的一种安排控件屏幕位置、控制控件之间的位置关系的一套机制(多套各具特色的工具)。

2、交互技术

就是应用程序“察觉(侦听)”使用者(用户)界面进行的“输入/点击”操作,并相应这些操作,给出相应的“反馈”的技术。

简单的书,用户界面做好了,用户对于我们提供的众多控件,通过键盘输入、鼠标点击等操作我们的界面,进而使用我们的程序,我们就需要“响应”用户的这些操作,并产生一定的反应,从而实现我们编程的最终目的。

专有名词:面向事件编程。

面向事件编程中的事件,主要指键盘事件、鼠标事件,就是由用户在操作界面时,通过键盘和鼠标发起的“输入”行为;通过程序修改空间的属性,包括内容、位置、尺寸、状态等代码,也会产生“更改”行为。这些都是“事件”。

事件最大的一个特点:无序性和随机性。

GUI控件示例

        //创建窗体对象
        JFrame frame = new JFrame();
        //设置窗体大小
        frame.setSize(514,538);
        //设置窗体居中
        frame.setLocationRelativeTo(null);
        //设置窗体置顶
        frame.setAlwaysOnTop(true);
        //设置窗体关闭方式
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        //设置窗体标题
        frame.setTitle("Frame1--2048小游戏");
        //取消窗体默认布局
        frame.setLayout(null);
        //设置窗体可见
        frame.setVisible(true);

顶层容器——JFrame类

上述代码就是使用了顶层容器创建了一个窗体对象,并通过一系列的设置能都将我们的窗体界面显示出来。

空间管理者——Container类

在JFrame框架里存在着一个透明画板(容器),这个透明画板才是我们创建的其他控件的“家”。它是JFrame的内部成员,负责称在不同的布局管理、承载具体的控件类对象。

它的类型是:Container类。可以通过JFrame的对象获取,并对其进行操作。

演示代码如下:

public class FirstWindow{

    private JFrame frame;
    private Container container;

    public JLable lable;

    public FirstWindow(){

        //设置窗体大小
        frame.setSize(514,538);
        //设置窗体居中
        frame.setLocationRelativeTo(null);
        //设置窗体置顶
        frame.setAlwaysOnTop(true);
        //设置窗体关闭方式
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        //设置窗体标题
        frame.setTitle("Frame1--2048小游戏");
        //取消窗体默认布局,即,使用绝对布局模式
        frame.setLayout(null);


        lable = new JLable("这是标题", JLable.CENTER)
        //设置标题大小
        lable .setSize(514,538);
        //设置标题位置
        lable .setLocation(0, 0);
        container.add(lable);
    
    }

    public void showWindow(){
        //之后再JFrame执行setVisible(true)后,其内部尺寸才真正正确
        //设置窗体可见
        frame.setVisible(true);
        
        //resetComponnet(container.getWidth(), container.getHigh())
    }

}

设置字体和颜色代码演示

        Font topicFont = new Font("微软雅黑", Font.BOLD, 36);

        new Jalble().setFont(topicFont);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值