GUI编程学习陆续更新(二)

本文介绍了使用Java GUI进行图形用户界面开发,包括输入框TextField的监听、简易计算器的设计、内部类的使用优化代码,以及后续的画笔、鼠标和窗口监听等实用功能。通过实例展示了如何实现一个简单的计算器应用,利用内部类实现按钮监听,完成数字相加功能。
摘要由CSDN通过智能技术生成

5、输入框TextField -->被监听

package com.kuang.lesson02;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestTextField {
   

    public static void main(String[] args) {
   
        //以后的main 方法只会有一个启动程序
        new MyFrame();
    }
}

class MyFrame extends Frame{
   
    public MyFrame(){
   
        TextField textField = new TextField();
        //因为继承了Frame 所以直接add 就可以了
        add(textField);

        //监听这个文本框输入的文字
        MyActionListener2 myActionListener2 = new MyActionListener2();
        //按下enter就会触发事件
        textField.addActionListener(myActionListener2);

        //设置替换编码
        textField.setEchoChar('*');

        //setSize(400,400);
        //setLocation(500,500);
        setBounds(300,400,200,100);
        setVisible(true);
        //pack();

        addWindowListener(new WindowAdapter() {
   
            @Override
            public void windowClosing(WindowEvent e) {
   
                System.exit(0);
            }
        });
    }
}

class MyActionListener2 implements ActionListener{
   

    @Override
    public void actionPerformed(ActionEvent e) {
   
        TextField field = (TextField) e.getSource();        // 获得一些资源  ---》 返回一个对象
        System.out.println(field.getText());                //获得输入的文本框
        field.setText("");
    }
}

6、简易计算器、组合加内部类

一个项目的设计:首先是用到哪些类,其次是用到哪些组件、组件弄好了之后,开始构思布局

项目题目:设计一个简易计算器,并实现其功能、

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-THyU9Q8R-1593704382083)(C:\Users\86186\AppData\Roaming\Typora\typora-user-images\image-20200626141223125.png)]

分析:

​ 一个Frame 框,里面有3个文本框,然后一个标签,还有 = 的按钮,= 按钮添加监听事件,点击时,获取前面两个数字相加,然后放在第三个文本框里面,然后清除前面两个文本框的内容、

package com.kuang.lesson02;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestCalculator {
   

    //简易计算器
    public static void main(String[] args) {
   
        new Calculator();
    }
}

//计算器类
class  Calculator extends Frame{
   
    public Calculator(){
   

        //3个文本框
        TextField num1 = new TextField(10);  //最大字符数
        TextField num2 = new TextField(10);  //最大字符数
        TextField num3 = new TextField(20);  //最大字符数

        //1个按钮
        Button button = new Button("=");
        button.addActionListener(new MyCalculatorListener(num1,num2,num3));

        //1个标签
        Label label1 = new Label("+");

        //布局
        setLayout(new FlowLayout());

        //添加组件
        add(num1);
        add(label1);
        add(num2);
        add(button);
        add(num3);
        
        pack();
        setVisible
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值