AWT/Swing 图形化编程(IDEA)

窗口设计——Frame组件

1、创建一个窗口——Frame(窗体),创建该对象即可

2、使用setSize设置窗体大小

3、frame.setVisible(true)——默认窗体不可见,所以需要用true使窗体展现出来

setLocation()——调整窗口的位置

setResizabile(),设置窗口大小是否固定

setAlwaysOnTop——设置窗口是否始终展现在最前面

setBounds()——设置位置和大小

 setCursor——设置个性化光标

监听器

我们可以为窗口添加一系列的监听器,监听器会监听窗口中发生的一些事件。当发生对应的事件时,就会通知对应的监听器进行处理,从而我们能够在发生对应事件时进行处理。

        由于这个监听器的接口里面有很多方法用不到,所以可以考虑使用适配器。

        适配器模式?

常用组件介绍

awt不是在主线程展示的,改变主线程后对awt图形化界面没有影响。

开始学习组件之前,先把布局设定为null(因为默认情况下会采用BorderLayout作为布局)先介绍没有布局的情况下如何使用这些组件。

设置标签:

Label label = new Label();添加一个标签只需要创建一个对象即可。

label.setLocation()设定位置和大小。

frame.add(label);//使用add当打添加到组件到窗口。

组件的位置是以整个窗口的左上角为原点开始的!如果想设置组件的位置,还需要注意加上标题栏的高度,否则会被标题遮挡。

可以自由设置组件的文本,字体!

如果 窗口里有很多个字体,那么可以直接对窗口设定字体。

设置文本颜色——setForeground

设置按钮:
Button button = new Button();

button.addActionListener()——给按钮添加功能(按钮被点击)

TextField——文本框

点击按钮获取文本框里的内容:


public class Main {
    public static void main(String[] args) {

        Frame frame = new Frame("Hello");
        frame.setBounds(500,500,500,300);
        frame.setAlwaysOnTop(true);
        frame.setLayout(null);

        TextField field = new TextField();
        field.setBounds(20,100,200,50);
        frame.add(field);

        Button button = new Button();
        button.setBounds(20,50,100,50);
        frame.add(button);
        button.addActionListener(e -> {
            String text = field.getText();
            System.out.println("");
        });
        frame.add(button);
    }
}

如果设置密码使用setEchoChar("*")

创建勾选框——CheckboxGroup——组件形状变成圆形

布局

希望窗口放大的时候,组件自动适配窗口。

布局可以根据自己的一些性质,对组件进行调整,包括位置和大小,下面学习布局管理器

边界布局

        

按照这五个位置进行布局:

 

 流式布局

按照顺序排列的一种布局,采用流式布局后,按钮会根据内容大小,自动调整为对应的大小,并且他们之间是有间距的。

卡片布局

就像很多卡片叠在一起,每次只能看到最顶上的这张卡片,但是我们可以把下层的卡片切到顶上去。

网格包布局(GridBagLayout)

面板与布局的嵌套使用

窗口只能设定一个布局,所以实现上有些麻烦。

这时候引入新的容器——面板(存放其他组件的组件,“套娃”)

 面板默认采用

FlowLayout()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊一定要努力变强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值