《JAVA项目实战(计算器)》由会员分享,可在线阅读,更多相关《JAVA项目实战(计算器)(27页珍藏版)》请在人人文库网上搜索。

1、JAVA项目实战-计算器一、开发环境Eclipse集成开发环境。2、 实现功能加、减、乘、除的整数运算。3、 运用的知识点1、 JFrame窗体的使用2、 JButton按钮的使用3、 JTextFiled输入文本框的使用4、 Container容器的使用5、 监听事件的使用6、 内部类7、 If语句8、 Switch case 语句9、 包10、 包的引用11、 数据类型之间的转换(String转Int转Double Double.valueOf(String str),Interger.valueOf(String str))四、重点知识的讲解常用窗体窗体作为Swing应用程序中组件的承载。

2、体,处于非常重要的位置。Swing中常用的窗体包括JFrame和JDialog,本节将着重讲解这两个窗体的使用方法。1、 JFrame窗体JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器。在开发应用程序时可以通过继承java.swing.IFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件。由于该窗体继承了JFrame类,所以它拥有“最大化”、“最小化”和关闭等按钮。下面将详细讲解JFrame窗体在Java应用程序中的使用方法。JFrame在程序中的语法格式如下:JFramejf=newJFrame(title。

3、):Containercontainer=jfgetContentPane0;参数含义如下:jf:JFrame类的对象container:Container类的对象,可以使用JFrame对象调用getContentPane()方法获取。读者大致应该有这样一个概念,Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器。通常,这个容器用来包含和显示组件。如果需要将组件添加至容器,可以使用来自Container类的add()方法进行设置。例如:container.add(newJ。

4、Button(按钮”); /Button按钮组件在容器添加组件后,也可以使用Container类的remove()方法将这些组件从容器中删除。例如containerremove(newJButton(按钮”);下面的实例中实现了JFrame对象创建一个窗体,并在其中添加一个组件。【例】在项目中创建Examplel类,该类继承JFrame类成为窗体类,在该类中创建标签组件,并添加到窗体界面中。import java.awt.Color;import java.awt.Container;import javax.swing.JFrame;import javax.swing.JLabel;imp。

5、ort javax.swing.SwingConstants;import javax.swing.WindowConstants;public class Example1 extends JFrame /定义一个类继承JFrame类public Example1(String titile) /定义一个构造方法,构造一个窗体。JFrame jf = new JFrame(titile);/实例化一个JFrame对象Container container = jf.getContentPane();/获取一个容器JLabel jl = new JLabel(这是一个JFrame窗体);/实例。

6、化一个JLabel对象/使标签上的文字居中jl.setHorizontalAlignment(SwingConstants.CENTER);container.add(jl); /将标签添加到容器中container.setBackground(Color.WHITE);/设置容器的背景颜色jf.setVisible(true);/设置窗体可视jf.setSize(400, 400);/设置窗体大小/设置窗体关闭方式jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);public static void main(String 。

7、args) /在主方法中构造一个窗体new Example1(创建一个JFrame窗体);运行本实例程序,结果如图所示。在例中,Exatplel类继承了JFrame类,在Example1(String titile)方法中实例化JFrmne对象。JFrame类的常用构造方法包括以下两种形式public JFrame()。public JFrame(String title).JFrame类中的两种构造方法分别为无参的构造方法与有参的构造方法,第1种形式的构造方法可以创建一个初始不可见、没有标题的新窗体;第2种形式的构造方法在实例化该JFrame对象时可以创建一个不可见但具有标题的窗体。可以使用。

8、JFrme对像调用show()方法使窗体可见,但是该方法早已被新版JDK所弃用,通常使用setVisible(true)方法使窗体可见。同时可以使用setSize(int x,int y)方法设置窗体大小,其中x与y变量分别代表窗体的宽与高。创建窗体后,需要给予窗体一个关闭方式,可以调用setDefaultCloseOperation()方法关闭窗体。Java为窗体关闭提供了多种方式,常用的有以下4种1、DO_NOTHING_ON_CLOSE。2、DISPOSE_ON_CLOSE。3、HIDE_ON_CLOSE。4、EXTT_ON_CLOSE。第1种窗体退出方式代表什么都不做就将窗体关闭;第2。

9、种退出方式则代表任何注册监听程序对象后会自动隐藏并释放窗体;第3种方式表示隐藏窗口的默认窗口关闭;第4种退出方式表示退出应用程序默认窗口关闭。2、JDialog窗体JDialog窗体是Swing组件中的对话框,它继承了AWT组件java.awtDialog类。JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。JDialog窗体实质上就是另一种类型的窗体,它与JFrame窗体类似,在使用时也需要调用getContentPane()方法将窗体转换为容器,然后在容器中设置窗体的特性。在应用程序中创建JDialog窗体需要实例化JDialog类,通常使。

10、用以下几个JDialog类的构造方法。public JDialog():创建一个没有标题和父窗体的对话框。public JDialog(Frame f): 创建一个指定父窗体的对话框,但该窗体没有标题。public JDialog(Frame f,boolean model):创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题。public JDialog(Frame f,String title):创建一个指定标题和父窗体的对话框。public JDialog(Frame f String titleboolean model):创建一个指定标题、窗体和模式的对话框。下面来看一个实。

11、例,该实例主要实现单击JFrme窗体中的按钮后,弹出一个对话框窗体。【例】在项目中创建MyJDialog类,该类继承JDialog窗体,并在窗口中添加按钮,当用户点击该按钮后,将弹出一个对话框窗体。本实例代码如下:import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swi。

12、ng.JLabel;import javax.swing.SwingConstants;public class MyFrame extends JFramepublic MyFrame()Container container = getContentPane();/创建一个容器container.setLayout(null);JLabel jl = new JLabel(这是一个JFrame窗体);/在窗体中设置标签/使标签上的文字居中jl.setHorizontalAlignment(SwingConstants.CENTER);container.add(jl);JButton bl。

13、 = new JButton(弹出对话框);/实例化一个按钮bl.setBounds(10, 10, 100, 21);container.add(bl); /将按钮添加到容器中setSize(400,400); /设置窗体的大小bl.addActionListener(new ActionListener()/为按钮添加鼠标点击事件Overridepublic void actionPerformed(ActionEvent e) /使MyDialog窗体可见new MyDialog(MyFrame.this).setVisible(true););public static void ma。

14、in(String args) new MyFrame().setVisible(true);class MyDialog extends JDialogpublic MyDialog(MyFrame frame)/实例化一个JDialog对象,指定对话框的父窗体、窗体标题和类型super(frame ,第一个Dialog窗体,true);Container container = getContentPane();/创建一个容器container.add(new JLabel(这是一个对话框);/在容器中添加标签setBounds(120,120,100,100);/设置对话框的大小运行本实。

15、例,结果如图所示。在本实例中,为了使对话框在父窗体弹出,定义了一个JFrame窗体,首先在该窗体中定义一个按钮,然后为此按钮添加一个鼠标单击监听事件,这里使用newMyJDialog().setVisible(true)语句使对话框窗体可见,这样就实现了用户单击该按钮后弹出对话框的功能。在MyJDialog类中,由于它继承了JDialog类,所以可以在构造方法中使用super关键字调用JDialog构造方法。在这里使用了 publicJDialog(Framef,String title,booleanmodel)这种形式的构造方法,相应地设置了自定义的JFrame窗体以及对话框的标题和窗体类。

16、型。本实例代码中可以看到,JDialog窗体与JFrame窗体形式基本相同,甚至在设置窗体的特性时调用的方法名称都基本相同,如设置窗体大小、窗体关闭状态等。 计算器package com.rakey.ui;import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;impo。

17、rt javax.swing.JTextField;import javax.swing.WindowConstants;public class UI private JButton clear;/ 清除按钮(AC)private JButton backspace;/ 退格键private JButton zhengfuhao;/ +/-键private JButton chuhao;/ 除号private JButton b_7;/ 按键7private JButton b_8;/ 按键8private JButton b_9;/ 按键7private JButton b_cheng;/。

18、 乘号键private JButton b_4;/ 按键4private JButton b_5;/ 按键5private JButton b_6;/ 按键6private JButton b_jian;/ 减号键private JButton b_1;/ 按键1private JButton b_2;/ 按键2private JButton b_3;/ 按键3private JButton b_jia;/ 加号键private JButton b_0; / 按键0private JButton b_dian;/ 按键.private JButton b_deng;/ 按键=private J。

19、TextField display;public String integer;public UI() / 1:新建一个JFrame对象为jfJFrame jf = new JFrame(计算器);/ 2:设置布局jf.setLayout(null);/ 3:得到一个容器containerContainer container = jf.getContentPane();/ 改变容器(container)的背景颜色container.setBackground(Color.YELLOW);/ 新建一个JTextField对象display = new JTextField(0);/ 设置JTe。

20、xtField在container当中的位置和JTextField的宽度,高度display.setBounds(10, 10, 310, 100);/ 设置字体的大小和字体display.setFont(new Font(楷体, Font.BOLD, 40);/ 设置字体的颜色display.setForeground(new Color(255, 0, 0);/ 设置字体的显示位置(从最右边开始显示)display.setHorizontalAlignment(JTextField.RIGHT);/ 把JTextField放到container容器当中container.add(displ。

21、ay);/ 新建一个JButton对象clear = new JButton(AC);/ 设置JButton在container当中的位置和JButton的宽度,高度clear.setBounds(10, 115, 70, 40);/ 把JButton放到container容器当中container.add(clear);clear.addActionListener(new Click();/ 新建一个JButton对象backspace = new JButton();/ 设置JButton在container当中的位置和JButton的宽度,高度backspace.setBounds(9。

22、0, 115, 70, 40);/ 把JButton放到container容器当中container.add(backspace);backspace.addActionListener(new Click();/ 新建一个JButton对象zhengfuhao = new JButton(+/-);/ 设置JButton在container当中的位置和JButton的宽度,高度zhengfuhao.setBounds(170, 115, 70, 40);/ 把JButton放到container容器当中container.add(zhengfuhao);zhengfuhao.addActio。

23、nListener(new Click();/ 新建一个JButton对象chuhao = new JButton();/ 设置JButton在container当中的位置和JButton的宽度,高度chuhao.setBounds(250, 115, 70, 40);/ 把JButton放到container容器当中container.add(chuhao);chuhao.addActionListener(new Click();/ 新建一个JButton对象b_7 = new JButton(7);/ 设置JButton在container当中的位置和JButton的宽度,高度b_7.s。

24、etBounds(10, 165, 70, 40);/ 把JButton放到container容器当中container.add(b_7);b_7.addActionListener(new Click();/ 新建一个JButton对象b_8 = new JButton(8);/ 设置JButton在container当中的位置和JButton的宽度,高度b_8.setBounds(90, 165, 70, 40);/ 把JButton放到container容器当中container.add(b_8);b_8.addActionListener(new Click();/ 新建一个JButt。

25、on对象b_9 = new JButton(9);/ 设置JButton在container当中的位置和JButton的宽度,高度b_9.setBounds(170, 165, 70, 40);/ 把JButton放到container容器当中container.add(b_9);b_9.addActionListener(new Click();/ 新建一个JButton对象b_cheng = new JButton();/ 设置JButton在container当中的位置和JButton的宽度,高度b_cheng.setBounds(250, 165, 70, 40);/ 把JButton。

26、放到container容器当中container.add(b_cheng);b_cheng.addActionListener(new Click();/ 新建一个JButton对象b_4 = new JButton(4);/ 设置JButton在container当中的位置和JButton的宽度,高度b_4.setBounds(10, 215, 70, 40);/ 把JButton放到container容器当中container.add(b_4);b_4.addActionListener(new Click();/ 新建一个JButton对象b_5 = new JButton(5);/ 设。

27、置JButton在container当中的位置和JButton的宽度,高度b_5.setBounds(90, 215, 70, 40);/ 把JButton放到container容器当中container.add(b_5);b_5.addActionListener(new Click();/ 新建一个JButton对象b_6 = new JButton(6);/ 设置JButton在container当中的位置和JButton的宽度,高度b_6.setBounds(170, 215, 70, 40);/ 把JButton放到container容器当中container.add(b_6);b_。

28、6.addActionListener(new Click();/ 新建一个JButton对象b_jian = new JButton();/ 设置JButton在container当中的位置和JButton的宽度,高度b_jian.setBounds(250, 215, 70, 40);/ 把JButton放到container容器当中container.add(b_jian);b_jian.addActionListener(new Click();/ 新建一个JButton对象b_1 = new JButton(1);/ 设置JButton在container当中的位置和JButton的。

29、宽度,高度b_1.setBounds(10, 265, 70, 40);/ 把JButton放到container容器当中container.add(b_1);b_1.addActionListener(new Click();/ 新建一个JButton对象b_2 = new JButton(2);/ 设置JButton在container当中的位置和JButton的宽度,高度b_2.setBounds(90, 265, 70, 40);/ 把JButton放到container容器当中container.add(b_2);b_2.addActionListener(new Click();/。

30、 新建一个JButton对象b_3 = new JButton(3);/ 设置JButton在container当中的位置和JButton的宽度,高度b_3.setBounds(170, 265, 70, 40);/ 把JButton放到container容器当中container.add(b_3);b_3.addActionListener(new Click();/ 新建一个JButton对象b_jia = new JButton();/ 设置JButton在container当中的位置和JButton的宽度,高度b_jia.setBounds(250, 265, 70, 40);/ 把J。

31、Button放到container容器当中container.add(b_jia);b_jia.addActionListener(new Click();/ 新建一个JButton对象b_0 = new JButton(0);/ 设置JButton在container当中的位置和JButton的宽度,高度b_0.setBounds(10, 315, 150, 40);/ 把JButton放到container容器当中container.add(b_0);b_0.addActionListener(new Click();/ 新建一个JButton对象b_dian = new JButton(。

32、.);/ 设置JButton在container当中的位置和JButton的宽度,高度b_dian.setBounds(170, 315, 70, 40);/ 把JButton放到container容器当中container.add(b_dian);b_dian.addActionListener(new Click();/ 新建一个JButton对象b_deng = new JButton(=);/ 设置JButton在container当中的位置和JButton的宽度,高度b_deng.setBounds(250, 315, 70, 40);/ 把JButton放到container容器当。

33、中container.add(b_deng);b_deng.addActionListener(new Click();/ 使该窗体可见(false:不可见,true:可见)jf.setVisible(true);/ 设置窗体的大小jf.setSize(345, 400);/ 关闭窗体jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);String shu_1 = 0;/ 保存输入数据String shu_2 = 0;/ 保存输入数据String fuhao = 0;/ 存放计算符号/* 类名:Click * 功能:监听各个按键。

34、是否按下,处理各个按键 按下的内容和相关的功能 * 实现:ActionListener接口 * 作者:饶凌云*/class Click implements ActionListener Overridepublic void actionPerformed(ActionEvent e) /* 判断输入的数据是否大于9位,如果大于9位数,就会显示 最多输入9个字符 */if (display.getText().length() = 9) display.setText( );display.setText(最多输入9个字符);return;/* 清除按钮,如果该按键按下后,显示框的内容就会清。

35、零 */if (e.getSource() = clear) display.setText(0); else if (e.getSource() = b_1) if (display.getText().equals(0) display.setText(1);return;display.setText(display.getText() + 1); else if (e.getSource() = b_2) / display.setText(2);if (display.getText().equals(0) display.setText(2);return;display.setT。

36、ext(display.getText() + 2); else if (e.getSource() = b_3) if (display.getText().equals(0) display.setText(3);return;display.setText(display.getText() + 3); else if (e.getSource() = b_4) if (display.getText().equals(4) display.setText(1);return;display.setText(display.getText() + 4); else if (e.getSo。

37、urce() = b_5) if (display.getText().equals(5) display.setText(1);return;display.setText(display.getText() + 5); else if (e.getSource() = b_6) if (display.getText().equals(6) display.setText(1);return;display.setText(display.getText() + 6); else if (e.getSource() = b_7) if (display.getText().equals(7。

38、) display.setText(1);return;display.setText(display.getText() + 7); else if (e.getSource() = b_8) if (display.getText().equals(8) display.setText(1);return;display.setText(display.getText() + 8); else if (e.getSource() = b_9) if (display.getText().equals(9) display.setText(1);return;display.setText(。

39、display.getText() + 9); else if (e.getSource() = b_0) if (display.getText().equals(0) display.setText(0);return;display.setText(display.getText() + 0); else if (e.getSource() = b_deng) shu_2 = display.getText();display.setText( );int shu1;int shu2;shu1 = Integer.valueOf(shu_1);shu2 = Integer.valueOf。

40、(shu_2);switch (fuhao) case +:shu1 += shu2;break;case :shu1 *= shu2;break;case :shu1 -= shu2;break;case :shu1 /= shu2;break;display.setText(String.valueOf(shu1);shu_1 = 0;shu_2 = 0; else if (e.getSource() = b_dian) display.setText(.); else if (e.getSource() = b_jia) shu_1 = display.getText();display。

41、.setText(0);fuhao = +; else if (e.getSource() = chuhao) shu_1 = display.getText();display.setText(0);fuhao = ; else if (e.getSource() = b_cheng) shu_1 = display.getText();display.setText(0);fuhao = ; else if (e.getSource() = b_jian) shu_1 = display.getText();display.setText(0);fuhao = ;27 / 27文档可自由编辑。

java项目计算器关键思路_JAVA项目实战(计算器)相关推荐

  1. [Java版]selenium关键字驱动框架设计实战(二)

    [Java版]selenium关键字驱动框架设计实战(一)本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力.引言使用和学习selen ...

  2. java程序模拟atm机_Java项目实现模拟ATM机

    本文实例为大家分享了Java实现模拟ATM机的具体代码,供大家参考,具体内容如下 项目名称 模拟ATM机 项目描述 简单实现ATM机功能 代码实现 测试类 public class Test { // ...

  3. 项目成功关键要素和项目成功关键要素

    项目成功关键要素 清楚地界定目标及项目任务,能够以目标驱动. 高层管理者的支持,并且能够平衡各方干系人. 有能力的项目经理, 关注整个团队战斗力 足够的资源 客户的参与协商,客户在项目的各个阶段都能够 ...

  4. java 搜索业务怎么写_Java项目实战第11天:搜索功能的实现

    原标题:Java项目实战第11天:搜索功能的实现 今天是刘小爱自学Java的第110天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: 事先说明:关于今天的搜索功能实现. 并没有使用到倒排索引这 ...

  5. java窗体添加背景图片_Java项目实战之实战之天天酷跑(四):游戏主界面

    接上文,本文将实现游戏主界面,功能如下: 移动的背景图片.动态的玩家.玩家的移动功能.五种障碍物持续出现.玩家和障碍物的碰撞.暂停.继续功能. 首先,看一下整体效果: 动图实在太大,几秒钟的 Gif ...

  6. java实现记账本功能_java基础实战项目一:实现家庭记账本的简易记账功能

    import java.util.ArrayList; import java.util.Scanner; /** * @Auther:sommer1111 * @date 2020/5/1 10:3 ...

  7. java 电商 插件 开发_JAVA项目实战开发电商项目案例(六与七)商品分类与商品模块管理开发...

    购物网站中,商品管理板块也是重要的一个版块,下面我会从后台管理系统和前台管理页面去讲述购物网站商品模块功能的开发. 1演示效果 1.1前台演示地址演示地址 1.2后台演示地址演示地址 2商品分类功能 ...

  8. java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份

    Java项目中调用bat批处理配合使用BCP进行多用户数据的备份 一.项目需求 最近项目中需要对数据库(Sql Server系列数据库)进行备份.项目中的需求不是简单的整个数据库的备份,而是根据用户来 ...

  9. Java实现gbk utf8 转换_java项目编码格式转换(如GBK转UTF-8)

    昨天突然下了个Java项目,把项目导入到eclipse中,发现项目是gbk编码格式想把项目变为utf-8,但是发现转换格式比较麻烦就写了这个代码,后面改进了下,想到说不定有人也需要就把它写了出来 代码 ...

  10. java项目 异常如何解决_Java项目中常见的异常处理

    发生异常的情况有很多,其中包括以下几大类: 1. 空指针异常: 2. 用户输入异常: 3. 多层异常捕获: 想要知道Java是如何处理异常的,就需要掌握以下这三种异常的处理: 1.检查性异常:最具代表 ...

最新文章

  1. Android下载文件(一)下载进度断点续传
  2. Redis(2)---数据持久化
  3. Java常用类(1)--字符串相关类String、StringBuffer、StringBuilder全面知识
  4. linux下用c语言打印hellword,用C语言写一个Helloworld_实现第一步编译运行
  5. 简述yolo1-yolo3_使用YOLO框架进行对象检测的综合指南-第一部分
  6. xor在PHP是什么意思,?=‘在PHP中是什么意思?
  7. 我的一篇思想汇报——君子务本,本立而道生
  8. java esc_java – Swing:当按下ESC键时如何关闭对话框?
  9. LeetCode算法题-Design LinkedList(Java实现)
  10. Android实习结束后的阶段性总结
  11. esri-leaflet入门教程(3)-自定义底图
  12. 2020年最好用的手机是哪一款_2020年千元机中性能最好的4款手机,印象最让你深刻的是哪一款?...
  13. 冷凝器换热效果变差后果
  14. 浅谈MDK环境下使用stdio.h的问题
  15. c语言三角函数精度不够,快速三角函数算法的误差控制(sin cos)
  16. python 人脸识别活体检测_手把手教你用Python实现人脸识别,辨别真假!
  17. android炫彩跑马灯特效,盘点一下那些自带酷炫跑马灯效果的手机,最后一款几乎没人知道...
  18. 橡胶软接头的安装及使用说明
  19. 众包中真值推断的随机猜测和任务难度建模
  20. MOS管的行业应用领域-KIA MOS管

热门文章

  1. 搜索工具推荐 Windows中的everyting 和 mac下的alfred
  2. 大数据知识点汇总---Redis,Spark,Kafka,Hive,Mysql,Hbase,Hadoop...
  3. Linux中sql*loader-350,SqlLoader
  4. 华为最新解bl解锁码计算工具_黔隆科技刷机教程红米note4X低配版忘记密码刷机解锁降级救砖解屏幕锁账户锁教程...
  5. AAC 文件解析及解码流程
  6. TP框架的目录结构总结
  7. 最全的 Charles 抓包工具详解
  8. c语言turboc图形代码,Turbo C使用第三方图形库
  9. 自学android编程教程,安卓编程入门教程 安卓编程如何自学
  10. Java MD5加密工具包