GUI基础方法与封装

GUI基础属性与封装

设置布局:setLayout()
位置:setLocation(int x,int y)
大小:setSize(int w,int h)
能否缩放:setResizable(boolean)
设置大小坐标:setBounds(int x,int y,int w,int h)
设置背景色:setBackground()
添加嵌套:add()
设置可见性:setVisible(boolean)
监听:适配器模式:
	 frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭的时候需要做的事
            @Override
            public void windowClosing(WindowEvent e) {
                //结束程序
                System.exit(0);
            }
        });
	

注意:面板panel不能单独存在,只能存在与容器中

public class TestPanel {
    public static void main(String[] args) {
        Frame frame = new Frame();
        Panel panel = new Panel();
        //设置布局
        frame.setLayout(null);
        //坐标
        frame.setBounds(300,300,500,500);
        //能否缩放
        frame.setResizable(true);
        //背景色
        frame.setBackground(Color.YELLOW);
        panel.setBackground(Color.black);
        //设置坐标,相对于frame
        panel.setBounds(50,50,400,400);
        //窗口添加面板
        frame.add(panel);
        //设置窗口可见
        frame.setVisible(true);
        //监听事件,监听窗口关闭事件
        //适配器模式:
        frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭的时候需要做的事
            @Override
            public void windowClosing(WindowEvent e) {
                //结束程序
                System.exit(0);
            }
        });
    }
}

如果要实现多个窗口,为了避免重复使用以上属性实现窗口,我们可以将属性封装起来,通过创建多个对象来创建窗口

封装实现4个窗口

public class TestFram2 {
    public static void main(String[] args) {
        //展示多个窗口
        MyFram myFram1 = new MyFram(100, 100, 200, 200, Color.red, true);
        MyFram myFram2 = new MyFram(100, 300, 200, 200, Color.gray, true);
        MyFram myFram3 = new MyFram(300, 100, 200, 200, Color.green, true);
        MyFram myFram4 = new MyFram(300, 300, 200, 200, Color.pink, true);

    }
}
//封装
class MyFram extends Frame{
    public MyFram(int x, int y, int w, int h, Color color,boolean resizable){
        super();
        setBackground(color);
        setBounds(x,y,w,h);
        setResizable(resizable);
        setVisible(true);
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
}
封装结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzFrDZcE-1623293834606)(H:\Soft\Typora\img\g3.png)]

      }
    });
}

}




#### 封装结果

[外链图片转存中...(img-YzFrDZcE-1623293834606)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yuan_boss

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

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

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

打赏作者

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

抵扣说明:

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

余额充值