利用Java制作计算器的界面
2017-11-30 23:59
489 查看
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);
}
}
}
效果图:::::
相关文章推荐
- 【Android】利用表格布局,Android中xml文件与java的交互制作登录界面
- 利用Java制作一个简单的QQ登录界面
- 刚学完Java,老师居然没讲界面~~,于是自己上网自学了下,利用周末写下了这个贪吃蛇和他家分享
- 计算器制作JAVA版 (源代码)
- java入门实例之小试牛刀--利用Scanner制作个人简历
- 利用java制作一个小的目录查询器
- Java界面制作之四种界面风格
- java 制作小计算器
- java使用工厂模式编写计算器(swing界面)
- 利用 CHtmlView 和 HTML 制作新风格的界面
- 利用java制作简单的音乐播放器
- 利用JAVA制作简单登录窗口
- 利用JSmooth将java项目制作成exe可执行文件
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- 利用javabean+jsp写一个计算器
- 利用InstallShield12制作安装包之四:隐藏准备安装界面
- java 制作计算器
- 利用Bootstrap框架制作查询页面的界面
- 利用java制作一个小的目录查询器的方法
- 利用JAVA创建简单的菜单界面