JAVA项目实战计算器.docx

上传人:b****7 文档编号:23694520 上传时间:2023-05-20 格式:DOCX 页数:21 大小:81.73KB
下载 相关 举报
JAVA项目实战计算器.docx_第1页
第1页 / 共21页
JAVA项目实战计算器.docx_第2页
第2页 / 共21页
JAVA项目实战计算器.docx_第3页
第3页 / 共21页
JAVA项目实战计算器.docx_第4页
第4页 / 共21页
JAVA项目实战计算器.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

JAVA项目实战计算器.docx

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

JAVA项目实战计算器.docx

JAVA项目实战计算器

JAVA项目实战(计算器)

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

JAVA项目实战

--------------计算器

一、开发环境

Eclipse集成开发环境。

2、实现功能

加、减、乘、除的整数运算。

3、运用的知识点

1、JFrame窗体的使用

2、JButton按钮的使用

3、JTextFiled输入文本框的使用

4、Container容器的使用

5、监听事件的使用

6、内部类

7、If语句

8、Switchcase语句

9、包

10、包的引用

11、数据类型之间的转换(String转Int转Double

Double.valueOf(Stringstr),Interger.valueOf(Stringstr))

四、重点知识的讲解

常用窗体

窗体作为Swing应用程序中组件的承载体,处于非常重要的位置。

Swing中常用的窗体包括JFrame和JDialog,本节将着重讲解这两个窗体的使用方法。

1、JFrame窗体

JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器。

在开发应用程序时可以通过继承java.swing.IFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件。

由于该窗体继承了JFrame类,所以它拥有“最大化”、“最小化”和关闭等按钮。

下面将详细讲解JFrame窗体在Java应用程序中的使用方法。

JFrame在程序中的语法格式如下:

JFrame jf=new JFrame(title):

Container container=jf getContentPane0;

参数含义如下:

jf:

JFrame类的对象

container:

Container类的对象,可以使用JFrame对象调用getContentPane()方法获取。

读者大致应该有这样一个概念,Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器。

通常,这个容器用来包含和显示组件。

如果需要将组件添加至容器,可以使用来自Container类的

add()方法进行设置。

例如:

container.add(new JButton("按钮”));//Button按钮组件

在容器添加组件后,也可以使用Container类的remove()方法将这些组件从容器中删除。

例如

container remove(new JButton("按钮”));

下面的实例中实现了JFrame对象创建一个窗体,并在其中添加一个组件。

【例】在项目中创建Examplel类,该类继承JFrame类成为窗体类,在该类中创建标签组件,并添加到窗体界面中。

importjava.awt.Color;

importjava.awt.Container;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.SwingConstants;

importjavax.swing.WindowConstants;

publicclassExample1extendsJFrame{//定义一个类继承JFrame类

publicExample1(Stringtitile){//定义一个构造方法,构造一个窗体。

JFramejf=newJFrame(titile);//实例化一个JFrame对象

Containercontainer=jf.getContentPane();//获取一个容器

JLabeljl=newJLabel("这是一个JFrame窗体");//实例化一个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);

}

publicstaticvoidmain(String[]args){//在主方法中构造一个窗体

newExample1("创建一个JFrame窗体");

}

}

运行本实例程序,结果如图所示。

在例中,Exatplel类继承了JFrame类,在Example1(Stringtitile)方法中实例化JFrmne对象。

JFrame类的常用构造方法包括以下两种形式

publicJFrame()。

publicJFrame(Stringtitle).

JFrame类中的两种构造方法分别为无参的构造方法与有参的构造方法,第1种形式的构造方法可以创建一个初始不可见、没有标题的新窗体;第2种形式的构造方法在实例化该JFrame对象时可以创建一个不可见但具有标题的窗体。

可以使用JFrme对像调用show()方法使窗体可见,但是该方法早已

被新版JDK所弃用,通常使用setVisible(true)方法使窗体可见。

同时可以使用setSize(intx,inty)方法设置窗体大小,其中x与y变量分别代表窗体的宽与高。

创建窗体后,需要给予窗体一个关闭方式,可以调用setDefaultCloseOperation()方法关闭窗体。

Java为窗体关闭提供了多种方式,常用的有以下4种

1、DO_NOTHING_ON_CLOSE。

2、DISPOSE_ON_CLOSE。

3、HIDE_ON_CLOSE。

4、EXTT_ON_CLOSE。

第1种窗体退出方式代表什么都不做就将窗体关闭;第2种退出方式则代表任何注册监听程序对象后会自动隐藏并释放窗体;第3种方式表示隐藏窗口的默认窗口关闭;第4种退出方式表示退出应用程序默认窗口关闭。

2、JDialog窗体

JDialog窗体是Swing组件中的对话框,它继承了AWT组件java.awtDialog类。

JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样。

JDialog窗体实质上就是另一种类型的窗体,它与JFrame窗体类似,在使用时也需要调用getContentPane()方法将窗体转换为容器,然后在容器中设置窗体的特性。

在应用程序中创建JDialog窗体需要实例化JDialog类,通常使用以下几个JDialog类的构造方法。

publicJDialog():

创建一个没有标题和父窗体的对话框。

publicJDialog(Framef):

创建一个指定父窗体的对话框,但该窗体没有标题。

publicJDialog(Framef,booleanmodel):

创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题。

publicJDialog(Framef,Stringtitle):

创建一个指定标题和父窗体的对话框。

publicJDialog(FramefStringtitlebooleanmodel):

创建一个指定标题、窗体和模式的对话框。

下面来看一个实例,该实例主要实现单击JFrme窗体中的按钮后,弹出一个对话框窗体。

【例】在项目中创建MyJDialog类,该类继承JDialog窗体,并在窗口中添加按钮,当用户点击该按钮后,将弹出一个对话框窗体。

本实例代码如下:

importjava.awt.Container;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JDialog;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.SwingConstants;

publicclassMyFrameextendsJFrame{

publicMyFrame(){

Containercontainer=getContentPane();//创建一个容器

container.setLayout(null);

JLabeljl=newJLabel("这是一个JFrame窗体");//在窗体中设置标签

//使标签上的文字居中

jl.setHorizontalAlignment(SwingConstants.CENTER);

container.add(jl);

JButtonbl=newJButton("弹出对话框");//实例化一个按钮

bl.setBounds(10,10,100,21);

container.add(bl);//将按钮添加到容器中

setSize(400,400);//设置窗体的大小

bl.addActionListener(newActionListener(){//为按钮添加鼠标点击事件

@Override

publicvoidactionPerformed(ActionEvente){

//使MyDialog窗体可见

newMyDialog(MyFrame.this).setVisible(true);

}

});

}

publicstaticvoidmain(String[]args){

newMyFrame().setVisible(true);;

}

}

classMyDialogextendsJDialog{

publicMyDialog(MyFrameframe){

//实例化一个JDialog对象,指定对话框的父窗体、窗体标题和类型

super(frame,"第一个Dialog窗体",true);

Containercontainer=getContentPane();//创建一个容器

container.add(newJLabel("这是一个对话框"));//在容器中添加标签

setBounds(120,120,100,100);//设置对话框的大小

}

}

运行本实例,结果如图所示。

在本实例中,为了使对话框在父窗体弹出,定义了一个JFrame窗体,首先在该窗体中定义一个按钮,然后为此按钮添加一个鼠标单击监听事件,这里使用new MyJDialog().setVisible(true)语句使对话框窗体可见,这样就实现了用户单击该按钮后弹出对话框的功能。

在MyJDialog类中,由于它继承了JDialog类,所以可以在构造方法中使用super关键字调用JDialog构造方法。

在这里使用了public JDialog(Frame f,Stringtitle, boolean model)这种形式的构造方法,相应地设置了自定义的JFrame窗体以及对话框的标题和窗体类型。

   本实例代码中可以看到,JDialog窗体与JFrame窗体形式基本相同,甚至在设置窗体的特性时调用的方法名称都基本相同,如设置窗体大小、窗体关闭状态等。

计算器

packagecom.rakey.ui;

importjava.awt.Color;

importjava.awt.Container;

importjava.awt.Font;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JTextField;

importjavax.swing.WindowConstants;

publicclassUI{

privateJButtonclear;//清除按钮(AC)

privateJButtonbackspace;//退格键

privateJButtonzhengfuhao;//+/-键

privateJButtonchuhao;//除号

privateJButtonb_7;//按键7

privateJButtonb_8;//按键8

privateJButtonb_9;//按键7

privateJButtonb_cheng;//乘号键

privateJButtonb_4;//按键4

privateJButtonb_5;//按键5

privateJButtonb_6;//按键6

privateJButtonb_jian;//减号键

privateJButtonb_1;//按键1

privateJButtonb_2;//按键2

privateJButtonb_3;//按键3

privateJButtonb_jia;//加号键

privateJButtonb_0;//按键0

privateJButtonb_dian;//按键.

privateJButtonb_deng;//按键=

privateJTextFielddisplay;

publicStringinteger;

publicUI(){

//1:

新建一个JFrame对象为jf

JFramejf=newJFrame("计算器");

//2:

设置布局

jf.setLayout(null);

//3:

得到一个容器container

Containercontainer=jf.getContentPane();

//改变容器(container)的背景颜色

container.setBackground(Color.YELLOW);

//新建一个JTextField对象

display=newJTextField("0");

//设置JTextField在container当中的位置和JTextField的宽度,高度

display.setBounds(10,10,310,100);

//设置字体的大小和字体

display.setFont(newFont("楷体",Font.BOLD,40));

//设置字体的颜色

display.setForeground(newColor(255,0,0));

//设置字体的显示位置(从最右边开始显示)

display.setHorizontalAlignment(JTextField.RIGHT);

//把JTextField放到container容器当中

container.add(display);

//新建一个JButton对象

clear=newJButton("AC");

//设置JButton在container当中的位置和JButton的宽度,高度

clear.setBounds(10,115,70,40);

//把JButton放到container容器当中

container.add(clear);

clear.addActionListener(newClick());

//新建一个JButton对象

backspace=newJButton("←");

//设置JButton在container当中的位置和JButton的宽度,高度

backspace.setBounds(90,115,70,40);

//把JButton放到container容器当中

container.add(backspace);

backspace.addActionListener(newClick());

//新建一个JButton对象

zhengfuhao=newJButton("+/-");

//设置JButton在container当中的位置和JButton的宽度,高度

zhengfuhao.setBounds(170,115,70,40);

//把JButton放到container容器当中

container.add(zhengfuhao);

zhengfuhao.addActionListener(newClick());

//新建一个JButton对象

chuhao=newJButton("÷");

//设置JButton在container当中的位置和JButton的宽度,高度

chuhao.setBounds(250,115,70,40);

//把JButton放到container容器当中

container.add(chuhao);

chuhao.addActionListener(newClick());

//新建一个JButton对象

b_7=newJButton("7");

//设置JButton在container当中的位置和JButton的宽度,高度

b_7.setBounds(10,165,70,40);

//把JButton放到container容器当中

container.add(b_7);

b_7.addActionListener(newClick());

//新建一个JButton对象

b_8=newJButton("8");

//设置JButton在container当中的位置和JButton的宽度,高度

b_8.setBounds(90,165,70,40);

//把JButton放到container容器当中

container.add(b_8);

b_8.addActionListener(newClick());

//新建一个JButton对象

b_9=newJButton("9");

//设置JButton在container当中的位置和JButton的宽度,高度

b_9.setBounds(170,165,70,40);

//把JButton放到container容器当中

container.add(b_9);

b_9.addActionListener(newClick());

//新建一个JButton对象

b_cheng=newJButton("×");

//设置JButton在container当中的位置和JButton的宽度,高度

b_cheng.setBounds(250,165,70,40);

//把JButton放到container容器当中

container.add(b_cheng);

b_cheng.addActionListener(newClick());

//新建一个JButton对象

b_4=newJButton("4");

//设置JButton在container当中的位置和JButton的宽度,高度

b_4.setBounds(10,215,70,40);

//把JButton放到container容器当中

container.add(b_4);

b_4.addActionListener(newClick());

//新建一个JButton对象

b_5=newJButton("5");

//设置JButton在container当中的位置和JButton的宽度,高度

b_5.setBounds(90,215,70,40);

//把JButton放到container容器当中

container.add(b_5);

b_5.addActionListener(newClick());

//新建一个JButton对象

b_6=newJButton("6");

//设置JButton在container当中的位置和JButton的宽度,高度

b_6.setBounds(170,215,70,40);

//把JButton放到container容器当中

container.add(b_6);

b_6.addActionListener(newClick());

//新建一个JButton对象

b_jian=newJButton("-");

//设置JButton在container当中的位置和JButton的宽度,高度

b_jian.setBounds(250,215,70,40);

//把JButton放到container容器当中

container.add(b_jian);

b_jian.addActionListener(newClick());

//新建一个JButton对象

b_1=newJButton("1");

//设置JButton在container当中的位置和JButton的宽度,高度

b_1.setBounds(10,265,70,40);

//把JButton放到container容器当中

container.add(b_1);

b_1.addActionListener(newClick());

//新建一个JButton对象

b_2=newJButton("2");

//设置JButton在container当中的位置和JButton的宽度,高度

b_2.setBounds(90,265,70,40);

//把JButton放到container容器当中

container.add(b_2);

b_2.addActionListener(newClick()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1