GUI编程自学,编写自己的计算器!

这篇博客介绍了GUI编程的自学路径,包括AWT和Swing的基本概念,如窗口、面板、组件、事件监听等。通过学习,你可以创建一个功能完备的计算器应用,涉及文本框、按钮、监听事件等关键知识点。
摘要由CSDN通过智能技术生成

GUI编程如何自学?

组建

  • 窗口
  • 弹窗
  • 面板
  • 文本框
  • 列表框
  • 按钮
  • 图片
  • 监听事件
  • 鼠标事件
  • 外挂
  • 破解工具

1:简介

Gui的核心技术:Swing AWT

  1. MVC基础,了解监听器
  2. 可以写小工具
  3. 可以维护swing界面

2:AWT

2.1:AWT介绍

  1. 包含很多类和接口
  2. 元素:窗口,按钮,文本框
  3. 组件Componet:

2.2组件和容器

1:Frame

GUI第一个界面

package com.lg.study01;
import java.awt.*;

//Gui的第一个界面
public class TestFrame {
   
    public static void main(String[] args) {
   
        //Frame
       Frame frame = new Frame("我的第一个Java图像界面窗口");
        //设置可见性
        frame.setVisible(true);
        //设置窗口大小w,h
        frame.setSize(400,400);
        //设置背景颜色
        frame.setBackground(new Color(239, 39, 55));
        //弹出窗口的坐标
        frame.setLocation(200,200);
        //设置大小固定
        frame.setResizable(false);
    }
}

问题:窗口关闭不了,只能停止Java


回顾封装,一次弹出多个窗口

package com.lg.study01;

import java.awt.*;

public class TestFrame2 {
   
    public static void main(String[] args) {
   
        MyFrame frame1= new MyFrame(100,100,200,200,Color.blue);
        MyFrame frame2=new MyFrame(100,300,200,200,Color.black);
        MyFrame frame3= new MyFrame(300,100,200,200,Color.green);
        MyFrame frame4= new MyFrame(300,300,200,200,Color.red);
    }
}
class MyFrame extends Frame{
   
    static int id = 0;//可能存在多个窗口
    public MyFrame(int x,int y,int w,int h,Color color){
   
        super("MyFrame"+(++id));
        setBackground(color);
        setBounds(x,y,w,h);
        setVisible(true);
        setResizable(false);
    }

}

2:面板Panel

Panel可以看成一个空间,但是不能单独存在。

解决了窗口关闭问题(监听关闭)

package com.lg.study01;

import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

//Panel
public class TestPanel {
   
    public static void main(String[] args) {
   
        //创建一个窗口
        Frame frame=new Frame();
        //创建两个面板
        Panel panel = new Panel();
        Panel panel1 = new Panel();
        //Panel坐标,相对于frame
        panel.setBounds(10,10,100,100);
        panel.setBackground( new Color(200,2,3));
        panel1.setBounds(100,10,100,100);
        panel1.setBackground( new Color(200,100,3));
        //设置布局
        frame.setLayout(null);
        //frame设置可见性、
        frame.setVisible(true);
        //frame坐标
        frame.setBounds(300
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值