java swing实现简单计算器界面
作者:哥兜兜里有泡泡糖 发布时间:2021-11-09 12:47:05
标签:java,swing,计算器
本文实例为大家分享了java swing实现简单计算器界面的具体代码,供大家参考,具体内容如下
已经学习了一部分的swing知识,现在综合运用里面的部分知识来实现一个计算器的界面。
运用到的知识:
1.常用顶层容器 JFrame类 的使用
2.常用中间容器 JPanel类 的使用
3.单行文本框的实现类 JTextField类 的使用
4.按钮的实现类 JButton类 的使用
5.边框布局管理器 的使用
6.网格布局管理器 的使用
基本思路:
1.创建1个窗口f1
2.创建1个文本框t1
3.创建内层面板p3,保存文本框t1
4.创建16个按钮
5.创建内层面板p2,设置为网格布局,用于保存16个按钮
6.创建外层面板p1,设置为边框布局,北部保存p3,中部保存p2
下面是是具体的代码实现,可以直接运行
import javax.swing.JFrame; //顶层容器 (框架)
import javax.swing.JPanel; //中间容器 (嵌板)最常用的面板
import javax.swing.JTextField; //单行文本框的实现类
import javax.swing.JButton; //按钮
import javax.swing.border.EmptyBorder;
//需要用EmptyBorder类来设置面板的边框属性
import javax.swing.SwingConstants;
//SwingConstants是一个通常用于在屏幕上定位(位置)或定向(方向)组件的常量的集合
import java.awt.*; //布局管理器的类在这里面
public class calculator
{
public static void main(String[] args)
{
JFrame f1 = new JFrame("计算器"); //创建顶层容器(窗口)
f1.setSize(250, 300); //设置窗口大小
JPanel p1 = new JPanel(new BorderLayout(5,5)); //创建一个面板
//里面的new BorderLayout(5,5)是设置面板的布局(边框布局)
//其中(5,5)的第1个5表示上下控件间距,第2个表示左右控件间距
p1.setBorder(new EmptyBorder(5,5,5,5)); //设置边界距离 border 边界
//面板的setBorder函数,用于设置面板边缘向内收缩宽度
//里面的EmtyBorder(5,5,5,5)表示面板上,左,下,右各向内收缩 5个像素
JTextField t1 = new JTextField(); //创建一个单行文本框
t1.setColumns(10); //这个用于设置文本框的列数 Columns 列
t1.setHorizontalAlignment(SwingConstants.RIGHT); //设置文本框右对齐
//Horizontal 水平的 Alignment 对齐 记两个单词
JPanel p2 = new JPanel(new GridLayout(4,4,5,5));//创建第二个面板
//其中设置其布局为网格布局,(第一个4表示1行4个控件)
//第2个4表示1列4个控件,第1个5表示上下控件间隔为5,第2个5表示左右控件间隔为5(像素)
JButton b1 = new JButton("7"); //创建16个按钮
JButton b2 = new JButton("8");
JButton b3 = new JButton("9");
JButton b4 = new JButton("/");
JButton b5 = new JButton("4");
JButton b6 = new JButton("5");
JButton b7 = new JButton("6");
JButton b8 = new JButton("*");
JButton b9 = new JButton("1");
JButton b10 = new JButton("2");
JButton b11 = new JButton("3");
JButton b12 = new JButton("-");
JButton b13 = new JButton("0");
JButton b14 = new JButton(".");
JButton b15 = new JButton("=");
JButton b16 = new JButton("+");
p2.add(b1); //将16个按钮全部添加到网格布局的面板p2中
p2.add(b2);
p2.add(b3);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b7);
p2.add(b8);
p2.add(b9);
p2.add(b10);
p2.add(b11);
p2.add(b12);
p2.add(b13);
p2.add(b14);
p2.add(b15);
p2.add(b16);
JPanel p3 = new JPanel(); //创建第三个面板,用于保存之前的文本框t1
p3.add(t1); //将文本框t1添加到面板p3中
p1.add(p3,BorderLayout.NORTH);//将p3添加到 为边框布局面板的p1的北部
p1.add(p2,BorderLayout.CENTER); //将p2添加到面板的中部
f1.add(p1); //p1面板添加到窗口
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭时操作
f1.setVisible(true); //设置可见
}
}
运行结果:
来源:https://blog.csdn.net/weixin_44512194/article/details/93254608


猜你喜欢
- 一、准备工作1、确定电脑上已经成功安装jdk7.0以上版本2、win10操作系统3、maven安装包 下载地址:http://maven.a
- 归并排序算法思想:分而治之(divide - conquer);每个递归过程涉及三个步骤第一, 分解: 把待排序的 n 个元素的序列分解成两
- 如果 d:\upload\file\ 文件夹不存在,会报错String strPath = "d:\\upload\\file\\
- 本文实例讲述了Android开发实现判断通知栏是否打开及前往设置页面的方法。分享给大家供大家参考,具体如下:项目中用到日程提醒功能,如果应用
- 对 Excel 进行读写操作是生产环境下常见的业务,网上搜索的实现方式都是基于POI和JXL第三方框架,但都不是很全面。小编由于这两天刚好需
- 上一节是把大概的流程给过了一遍,但是还有很多地方没有说到,后续的慢慢会涉及到,敬请期待!这次我们说说垃圾收集器,又名gc,顾名思义,就是收集
- 本文所述为基于C#实现的折叠菜单,风格仿照Windows打开我的电脑后左侧的伸缩菜单效果,并且同样是蓝色的效果,看着和windows的效果一
- 说明Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序。 这些应用程序通过 Spring
- 简介机器可以读,人为什么不能读?只要我们掌握java class文件的密码表,我们可以把二进制转成十六进制,将十六进制和我们的密码表进行对比
- 之前文章介绍过了Fluent基本框架等,其中有几个重要的方法用到了IQuery和IUpdate对象。 这2个对象是FluentMybatis
- Lua是目前国内使用最多的热更语言,基于Lua的热更框架也非常多,最近学习了一下ToLua的热更框架,主要使用的问题在于C#和Lua之间的互
- 1:新建一个项目运行起来,可以看到顶部一直有个标题栏看着不是很美观2:有两种方法可以去除顶部标题栏(1)将代码中AndroidManifes
- java.math.BigDecimal及加减乘除计算BigDecimal简介BigDecimal用来对需要更大或更小的数进行任意精度的运算
- 参考文章图解Java中插入排序算法的原理与实现实现效果示例代码import java.awt.*;public class AlgoVisu
- 文件夹,文件这是常见的,怎么创建?要不要先判断是否存在?非常非常基础的知识点using System;using System.Collec
- 1.JavaBean转Map1.1.简介这篇博客是通过反射来进行实现转换的在学习redis中,发现了一个知识点,就是Java对象转map,视
- 如题,市面上常见的方法是:var handle = bmp.GetHicon(); //得到图标句柄return Icon.Fr
- 本文以实例形式讲述了C语言实现二叉树的非递归遍历方法。是数据结构与算法设计中常用的技巧。分享给大家供大家参考。具体方法如下:先序遍历:voi
- 最近在学习ssh框架时,照着网上做了一个商城系统,之前在一些需要用户存在的操作中,都是在每一个action中写重复的代码,这样做现在想起来并
- 递归生成一个如图的菜单,编写两个类数据模型Menu、和创建树形的MenuTree。通过以下过程实现:1.首先从菜单数据中获取所有根节点。2.