AWT

本文介绍了Java AWT的基本概念,包括窗口、按钮和文本框等组件的使用。重点讲解了如何创建和管理Frame组件,并通过Panel解决窗口关闭问题。通过实例演示了如何创建多个独立关闭的窗口和面板的布局技巧。
摘要由CSDN通过智能技术生成

AWT

1 AWT介绍

  1. 包含很多类和接口!GUI!

  2. 元素:窗口,按钮,文本框

  3. java.awt

2 组件和容器

2.1 Frame

package com.deng.lesson01;
​
import java.awt.*;
​
//GUI的第一个界面
public class TestFrame {
    public static void main(String[] args) {
​
        //Frame JDK 看源码
       Frame frame= new Frame("我的第一个Java图像窗口");
​
       //需要设置可见性
       frame.setVisible(true);
​
       //设置窗口大小 w  .h
        frame.setSize(400,400);
​
        //设置背景颜色 color
        frame.setBackground(new Color(0x00E156));
​
        //弹出的初始位置
        frame.setLocation(100,100);
​
        //设置大小固定
        frame.setResizable(false);
    }
}
​

问题: 发现窗口停止不掉,停止java程序!

尝试回顾封装

package com.deng.lesson01;
​
import java.awt.*;
​
public class TestFrame2 {
    public static void main(String[] args) {
        //展示多个窗口 new
        MyFrame myFrame1 =new MyFrame(100,100,200,200,Color.blue);
        MyFrame myFrame2 =new MyFrame(300,100,200,200,Color.red);
        MyFrame myFrame3 =new MyFrame(100,300,200,200,Color.yellow);
        MyFrame myFrame4 =new MyFrame(300,300,200,200,Color.green);
    }
}
​
class MyFrame extends Frame{
    static int id = 0;//可能有多个窗口,我们需要一个计数器
​
    public MyFrame(int x,int y, int w, int h,Color color){
        super("Myframe+"+(++id));
        setVisible(true);//可见性
        setBackground(color);//背景颜色
        setBounds(x,y,w,h);//窗口的初始位置与大小
​
    }
}
​

2.2 面板Panel

解决了关闭问题

package com.deng.lesson01;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
​
//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.setBackground(new Color(24, 124, 38));
      //Panel设置坐标与背景颜色,相对于frame
      panel.setBounds(50,50,400,400);
      panel.setBackground(new Color(113, 15, 15));
​
      //frame.add(panel)
      frame.add(panel);
​
      frame.setVisible(true);
​
      //监听事件,监听窗口关闭事件   System.exit(0);
        //适配器模式:
        frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭时需要做的事
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                //结束程序
                System.exit(0);
            }
        });
​
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值