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() {@Overridepublic 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() {@Overridepublic 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("");}}
}

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

  1. 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...

    [初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...

  2. C++ --函数模板初阶的知识总结

    一,泛型编程 编写与类型无关的通用代码,是代码复用的一种手段,模板是泛型编程的基础. 二,函数重载和函数模板的关联 函数重载:定义函数名相同而形参列表(形参个数或形参类别)不同的多个函数.. 函数模板 ...

  3. C语言初阶_初识C语言(1)

    凡是过往,皆为序章 期末考试结束了,真是感慨良多啊...... C语言编程题大家都做对了多少呢? 不管怎么样,都已经过去了.不管你学得怎么样,都可以在接下来的时间里,我们一起重新回顾一遍C语言初阶的知 ...

  4. 快来学selenium初阶到高阶的使用,反爬的案例解析,google驱动的安装配置

    文章目录 Google驱动的安装和selenium自动化的使用 一.Google驱动的安装 二.selenium自动化的初体验 三.selenium元素的定位操作 四.selenium页面交互方法 五 ...

  5. 【RPC框架、RPC框架必会的基本知识、手写一个RPC框架案例、优秀的RPC框架Dubbo、Dubbo和SpringCloud框架比较】

    一.RPC框架必会的基本知识 1.1 什么是RPC? RPC(Remote Procedure Call --远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术. ...

  6. 前端三剑客之 HTML - JavaEE初阶 - 细节狂魔

    文章目录 前言 后端 && 前端的部分历史 - java 关于网站搭建 正文开始! HTML 怎么编写一个HTML的代码? 小拓展: 快速编写 HTML 代码的小技巧 浏览器的开发者工 ...

  7. 学习笔记:C++初阶【C++入门、类和对象、C/C++内存管理、模板初阶、STL简介、string、vector、list、stack、queueu、模板进阶、C++的IO流】

    文章目录 前言 一.C++入门 1. C++关键字 2.命名空间 2.1 C语言缺点之一,没办法很好地解决命名冲突问题 2.2 C++提出了一个新语法--命名空间 2.2.1 命名空间概念 2.2.2 ...

  8. 牛津初阶字典精华总结

    本总结主要针对人群为能力在CET4.6一般上下读者.因Time is invaluable,如你是英语专业8以上或大学四级以下者,也许该套总结层次不适合你.该总结从初阶字典里吸取了鄙人自认为精华相应部 ...

  9. 【C语言】指针Pointer初阶(1)

    目录 1.指针定义 2.野指针 3.指针运算 3.1指针+/-整数 //利用指针自增自减访问数组 3.2指针相减 //利用指针相减求字符串长度 3.3指针的关系运算 //利用指针比较将数组arr中的元 ...

最新文章

  1. 2道面试题:输入URL按回车HTTP2
  2. 直接拖动元器件_电子元器件常规检测和判断
  3. python的回溯信息_基于Python的回溯算法
  4. oracle 把逗号分隔符,将逗号分隔为Oracle中的列
  5. Codeforces Round #294 (Div. 2)
  6. unix 只有root 可以使用chown吗_chmod 777 是开发的常规操作吗?
  7. 国内四家物联网实时操作系统浅析
  8. 温升测试总结setllom解胶剂
  9. mysql数据库BigInt数据类型和实体对象中BigInteger,Long类型的冲突
  10. php mysql上机题_PHP+mysql真题
  11. win10系统装服务器2008蓝屏,win10专业版系统出现蓝屏的原因及解决方法
  12. labview信号频域分析算法
  13. Android P使用pm install安装apk报错
  14. 个税革新,你每年能省多少钱~
  15. gammatone 滤波器详解及其MATLAB代码实现
  16. unity光圈旋转效果
  17. 服务器遇到一个意外的情况,阻止它完成请求
  18. 记录Google被和谐的日子
  19. 观念决定态度,态度决定一切
  20. 优酷土豆合而不同 土豆逐渐边缘化显尴尬

热门文章

  1. PMP 乘风破浪班开班仪式
  2. 凯图OA系统部署笔记
  3. Microsoft Edge浏览器怎么设置默认搜索引擎2020(扒窃官网)
  4. Qualcomm LTE 物联网应用开发者大赛36小时编程马拉松完美收官!
  5. 飞桨论文复现课笔记(论文复现步骤)
  6. 一入爬虫深似海,总结python爬虫学习笔记! 1
  7. ArcGIS基础实验操作100例--实验1绘制自定义线、垂线、平行线
  8. linux设定tomcat开机自动启动
  9. 使用分水岭算法对米粒进行精准分割(2)
  10. Linux.3_gccg++编译