利用Java制作计算器的界面
来源:互联网 发布:head first for java 编辑:程序博客网 时间:2024/06/05 03:37
Java制作基于GUI计算器的界面
首先,我们需要知道GUI是什么东西,所谓GUI,全称为(Graphical User Interface),又称图形用户接口,或者是图形用户界面,其实就是指采用图形方式显示的计算机操作用户界面。
既然我们知道了GUI,然后我们就自然联想到了各种按钮,各种窗口图形,而这些东西,全部都包含在了java自带的Swing中,Swing,嗯,百度一下:Swing是一个用于开发Java应用程序用户界面的开发工具包。
至于我们如何去调用,在代码的开头附上一句:
import javax.swing.*;
就可以了。在具体讲解之前,还需要了解一些Java中的一些词汇:
JFrame :它是屏幕上window的对象,能够最大化、最小化、关闭
JPanel :是一种轻量级容器,可以加入到JFrame窗体中
JTextArea :是一个文本框,可以显示文本
JButton : 是Java中的按钮,可以实现一些功能
讲了这么多废话,终于要开始了。
JFrame frame1 = new JFrame("calculate") ; JPanel pan1 = new JPanel();//数字按钮 JPanel pan2 = new JPanel();//符号按钮 JTextArea nr1 = new JTextArea(1,10);//建立文本框
如上:我们就已经建立了一个名为calculate的窗口啦,里面包含着两个容器,一个是用来放置数字按钮的,还有一个是用来放置符号按钮的。还有一个用来显示你输入的东西的文本显示区域。
东西既然设置好了,总得设置个大小吧:
frame1.setSize(225,245); pan1.setLayout(null); pan1.setBounds(0,20,180,240);//建立容器1的大小 pan2.setLayout(null); pan2.setBounds(180,30,60,240);//建立容器2的大小
上面的setLayout() 实际是指pan1的布局为啥样,我们设置为空,是为了下面的绝对坐标的使用。框架既然已经大致出来了,没有按钮怎么行呢?
for(int i=0;i<=2;i++) { for(int j=1;j<=3;j++) { JButton but = new JButton(""+(3*i+j)); but.setBounds(60*(j-1),60*i,60,60); pan1.add(but);}}JButton but10 = new JButton("#"); but10.setBounds(0,180,60,60); pan1.add(but10); JButton but11 = new JButton("0"); but11.setBounds(60,180,60,60); pan1.add(but11); JButton but12 = new JButton("~"); but12.setBounds(120,180,60,60); pan1.add(but12);
这样,我们就建立了1-9,九个按钮以及建立了0,#,~,这就完成了数字区域的按钮。哦,忘了说了, .setBounds()函数其实是 .setBounds(x,y,length,height) x就是在容器中的绝对坐标下,y也同理,length就是在x方向上按钮的长度,height就是在y方向上的长度。
紧接着,我们把容器二中的按钮也添加进去:
JButton jia = new JButton("+"); jia.setBounds(180,0,60,40); JButton jian = new JButton("-"); jian.setBounds(180,40,60,40); JButton chen = new JButton("*"); chen.setBounds(180,80,60,40); JButton chu = new JButton("/"); chu.setBounds(180,120,60,40); JButton qingkong = new JButton("清空"); qingkong.setBounds(180,160,60,40); JButton dengyu = new JButton("="); dengyu.setBounds(180,200,60,40); pan2.add(jia);//在容器2中添加功能按钮 pan2.add(jian); pan2.add(chen); pan2.add(chu); pan2.add(qingkong); pan2.add(dengyu);
最后,我们还需要将整个window进行布局,你想嘛,上面只是确定了有哪些容器,却没有说到底怎么分布。 BorderLayout Bor = new BorderLayout(2,2);//进行布局 frame1.setLayout(Bor); frame1.add(nr1,Bor.NORTH); frame1.add(pan1,Bor.CENTER); frame1.add(pan2,Bor.CENTER);
先给大家说明一下,java一共有好几种布局方式:布局方式解释:BorderLayout分为五块:东西南北中FlowLayout类似段落GirdLayout被分为等大矩形BoxLayout额,怎么解释呢?类似于盒子进行排布CardLayout类似于图层最后的话,别忘了加上:
frame1.setVisible(true) ; frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
给大家发个总的代码吧,最后了,第一次写博客,写的不好还请见谅。package diqizhang; import java.awt.BorderLayout;import javax.swing.*;public class calculate1{ public static void main(String[] args){{ JFrame frame1 = new JFrame("calculate") ; JPanel pan1 = new JPanel();//数字按钮 JPanel pan2 = new JPanel();//符号按钮 JTextArea nr1 = new JTextArea(1,10);//建立文本框 frame1.setSize(225,245); pan1.setLayout(null); pan1.setBounds(0,20,180,240);//建立容器1的大小 pan2.setLayout(null); pan2.setBounds(180,30,60,240);//建立容器2的大小 //建立12个按钮 for(int i=0;i<=2;i++) { for(int j=1;j<=3;j++) { JButton but = new JButton(""+(3*i+j)); but.setBounds(60*(j-1),60*i,60,60); pan1.add(but);}} JButton but10 = new JButton("#"); but10.setBounds(0,180,60,60); pan1.add(but10); JButton but11 = new JButton("0"); but11.setBounds(60,180,60,60); pan1.add(but11); JButton but12 = new JButton("~"); but12.setBounds(120,180,60,60); pan1.add(but12); JButton jia = new JButton("+"); jia.setBounds(180,0,60,40); JButton jian = new JButton("-"); jian.setBounds(180,40,60,40); JButton chen = new JButton("*"); chen.setBounds(180,80,60,40); JButton chu = new JButton("/"); chu.setBounds(180,120,60,40); JButton qingkong = new JButton("清空"); qingkong.setBounds(180,160,60,40); JButton dengyu = new JButton("="); dengyu.setBounds(180,200,60,40); pan2.add(jia);//在容器2中添加功能按钮 pan2.add(jian); pan2.add(chen); pan2.add(chu); pan2.add(qingkong); pan2.add(dengyu); BorderLayout Bor = new BorderLayout(2,2);//进行布局 frame1.setLayout(Bor); frame1.add(nr1,Bor.NORTH); frame1.add(pan1,Bor.CENTER); frame1.add(pan2,Bor.CENTER); frame1.setVisible(true) ; frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}}效果图:::::
阅读全文
1 0
- 利用Java制作计算器的界面
- 利用java的swing组件制作简易计算器
- 计算器界面的java代码
- java---简单计算器的制作
- 利用Java制作一个简单的QQ登录界面
- 简易计算器界面制作python
- Qt4学习(1)——制作简单的计算器界面
- java制作的亲戚计算器(三姑六婆计算器)
- 用Java swing制作简单的计算器
- java 制作小计算器
- java制作简易计算器
- java 制作计算器
- 利用java做一个简单的计算器
- 利用java做一个简单的计算器
- 利用java做一个简单的计算器
- 利用Java语言编写简单的计算器
- 【Android】利用表格布局,Android中xml文件与java的交互制作登录界面
- 计算器的Swing界面
- DrawBlank第一个工程实战总结
- Java开发快递物流项目(3)
- window下的虚拟机linux系统,windows系统ping不通linux下的ip,但是linux系统可以ping通windows下的ip
- 面试知识点--常见的8种排序算法
- handlebars模板引擎
- 利用Java制作计算器的界面
- 在HTML中target目标的四个参数的用法(知识点复习)
- 在linux下安装phpMyAdmin
- 八大排序算法
- const、static和extern的正确使用方式
- 8 非负矩阵分解(NMF) 降维方法
- 测试进阶-测试环境部署
- 消息队列
- 模拟ATM取款机的三次密码校验,当天达到3次输入密码错误, 则提示“账号被冻结”,其他情况则提示还有多少次输入机会