GUI初阶:基本知识框架(案例:加法计算器)

GUI编程初级基本知识框架,(案例:加法计算器)

一、简介:

1、组件:窗口、弹窗、面板、文本框、列表框、按钮、图片、监听事件、鼠标、键盘事件、破解工具

2、特点:界面不美观,运行需要jre环境

3、作用:可以写小工具,了解mvc架构,了解监听

二、注意的事项

1、布局管理器三种

frame.setLayout(new BorderLayout()); //默认布局管理器,将不指定位置的组件默认放到中间,可能产生重叠。

frame.setLayout(new FlowLayout()); //流式布局管理器,按顺序将组件排列,可设置东西南北中,组件会随着窗口大小发生位置的变化。

frame.setLayout(new GridLayout(3,3)); //表格布局管理器,划分区域较为有序的放置组件。

2、Frame常用方法

setSize(400, 400);//设置窗口大小

setBackground(new Color(255, 225, 255));//设置背景和颜色

setLocation(400, 400);//设置初始化位置

setVisible(true);//设置可见性

setBounds(x,y,h,w)初始化位置和大小,可同时实现setSize和Location

三、一般组件书写框架:

                                        //启动按钮 new 窗口子类().方法()
public class calc {
    public static void main(String[] args) {
        new Calculator().loadFrame();
    }
}
                                        //1、建立需要的窗口类
class 窗口类名 extends Frame{
                                        //2、定义文本框属性
    TextField 文本框名;
                                        //3、窗口建立方法
public void loadFrame{
                                        //4、文本框建立
    文本框名 = new TxetField(可输入字数限制);
                                        //5、按钮建立
    Button button = new Button();
                                        //6、标签建立
    Label label = new Label();
                                        //7、面板的建立
    Panel panel = new Panel();
    panel.setBackground(new Color(233, 233, 60));
    
                                        //8、布局设置    
     setLayout(new FlowLayout());
     setBounds(400,400,800,400);
     panel.setBounds(400,400,400,200);
     setVisible(true);
                                        //9、组件添加
     add(button);
     add(panel);
     add(文本框名);
     add(label);
                                        //10、事件添加
     button.addActionListener(new Action());
     textField.addActionListener(action2);
                                        //12、添加窗口关闭方法
     addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        
                                        //11、事件设置(内部类)
     class Action implements ActionListener{

        public void actionPerformed(ActionEvent e) {
           执行语句常用文本框.getText/文本框.setText
        }
    }
         
    }
}

简易加法计算器源代码:

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 calc {
    public static void main(String[] args) {
        new Calculator().loadFrame();
    }
}
//计算器类
class Calculator extends Frame{
    //声明文本框属性
    TextField textField1,textField2,textField3;
    
    //计算机窗口建立的方法
    public void loadFrame(){
        //文本框建立
        textField1 = new TextField(10);//字符数限制
        textField2 = new TextField(10);
        textField3 = new TextField(20);

        //按钮建立
        Button button = new Button("=");

        //标签建立
        Label label = new Label("+");

        //布局设置
        setLayout(new FlowLayout());
        setBounds(400,400,800,400);
        setVisible(true);

        //组件添加
        add(textField1);
        add(label);
        add(textField2);
        add(button);
        add(textField3);

        //事件添加
        button.addActionListener(new Action());


        //窗口关闭,结束程序
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

    }
    
    //监听事件建立(内部类)
    class Action implements ActionListener{

        public void actionPerformed(ActionEvent e) {
            //获得加数和被加数
            int num1 = Integer.parseInt(textField1.getText());
            int num2 = Integer.parseInt(textField2.getText());
            //初始化设置
            textField3.setText(""+(num1+num2));
            textField1.setText("");
            textField2.setText("");

        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

未来村村长

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

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

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

打赏作者

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

抵扣说明:

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

余额充值