《Java语言程序设计》课程设计Word文件下载.docx

上传人:b****2 文档编号:5240361 上传时间:2023-05-04 格式:DOCX 页数:29 大小:62.63KB
下载 相关 举报
《Java语言程序设计》课程设计Word文件下载.docx_第1页
第1页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第2页
第2页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第3页
第3页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第4页
第4页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第5页
第5页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第6页
第6页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第7页
第7页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第8页
第8页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第9页
第9页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第10页
第10页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第11页
第11页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第12页
第12页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第13页
第13页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第14页
第14页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第15页
第15页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第16页
第16页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第17页
第17页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第18页
第18页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第19页
第19页 / 共29页
《Java语言程序设计》课程设计Word文件下载.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《Java语言程序设计》课程设计Word文件下载.docx

《《Java语言程序设计》课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计》课程设计Word文件下载.docx(29页珍藏版)》请在冰点文库上搜索。

《Java语言程序设计》课程设计Word文件下载.docx

格式规范,完全符合要求

格式基本规范,基本符合要求

设计态度

(共15分)

设计态度认真、积极

设计态度比较认真

综合得分

课程设计综合成绩(折合为优、良、中、及格与不及格计)

其它说明:

目录

一、设计内容2

二、设计过程2

2.1需求分析2

2.2概要设计2

2.3详细设计3

2.4代码实现5

2.5程序运行与发布10

一、设计内容11

二、设计过程11

2.1需求分析11

2.2概要设计11

2.3详细设计11

2.4代码实现12

2.5程序运行与发布18

三、总结19

四、参考文献19

一、设计内容

设计GUI界面的简易计算器。

通过框架、文本框、面板、按钮等组件的综合应用实现计算器的加、减、乘、除、取余等简单运算。

二、设计过程

2.1需求分析

所设计的GUI界面计算器是一个使用很方便的程序,能进行加、减、乘、除等运算。

通过设置“Back”按钮,方便删除输入的错误数字,还增加了清空“C”的按钮,方便快速进入下一轮的运算。

2.2概要设计

1.类中的主要成员变量及其属性如下:

名称

变量类型

成员变量描述

f

JFrame

框架

tf

JTextArea

输入输出文本框

bc

JButton

退格按钮

c

清空按钮

plus,jian,cheng,

chu,equ,bfh

运算符按钮

b[]

按钮数组

m

int

数组下标

arg

存储输入的第一个数

t

double

除法运算的结果

flag

boolean

第一次输入

fh

String

保存中间运算符的字符型变量

2.方法

功能

备注

actionPerformed

处理ActionEvent事件

接口方法

calculate

计算

成员方法

main

程序入口

主方法

2.3详细设计

引入包:

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.*;

字符串处理:

Stringtext=text1.substring(0,text1.length()-1);

提取下标为0之下标为text1.length()-2的字串

a=s1.charAt(m);

返回字符串第m位置的字符

创建Calculator类实现ActionListener接口:

publicclassCalculatorimplementsActionListener{};

首先声明各个对象,创建各个变量:

JFramef;

JTextFieldtf;

JButtonbc,c,plus,jian,cheng,chu,equ,bfh;

//按钮退格,清空,加,减,乘,除,等号,百分号

JButtonb[]=newJButton[10];

//按钮数组,数字键0~9

doublet;

//除法运算的结果

intm,arg;

//m数字按钮的下标,arg存储输入的第一个数

finalintslength=20;

//设置结果显示有效长度

Stringfh=null;

//保存中间运算符的字符型变量

Stringop="

="

;

booleanflag=true;

//第一次输入

界面设计:

在disp()方法中进行界面设计。

⑴创建标题为“简易计算器”的JFrame框架,采用FlowLayout布局方式,在窗体中添加tf文本框,f.add(tf);

⑵创建四个面板添加各个按钮,各个面板采用网格布局,用for循环控制数字按钮的添加,添加按钮使用内部方法add();

for(m=7;

i!

=11;

i++,m++)

{b[m]=newJButton(String.valueOf(m));

//创建数字按钮

pa2L.add(b[m]);

b[m].addActionListener(this);

if(i==3){

m=3;

}

if(i==6){

m=0;

if(i==9){

m=-1;

}

⑶为各个按钮注册监听器,addActionListener();

⑷单击JFrame框架上的关闭按钮时,JFrame会自动隐藏窗口,但没有真正关闭,窗口还在内存中;

所以继承WindowAdapter适配器类实现窗口的关闭;

f.addWindowListener(newWindowAdapter()//关闭窗口

{

publicvoidwindowClosing(WindowEvente)

{

System.exit

(1);

);

事件响应:

⑴if('

0'

<

=s.charAt(0)&

&

s.charAt(0)<

='

9'

if(flag){

tf.setText(s+"

."

);

flag=false;

else{

if(text.equals("

0"

)){

tf.setText(s+"

}else{

tf.setText(text+s+"

}

if(!

op.equals("

arg=Integer.parseInt(text);

System.out.println(arg);

op="

如果第一次输入数字,则文本框显示数字+“.”,并将flag置为false,若在输入数字加在第一次输入内容之后,将数字保存在arg变量中。

⑵按下运算符之后,将运算符保存在fh变量中,并设置变量op的值。

⑶按下等号后调用calculate()方法计算。

publicvoidcalculate(intn)

{

System.out.println(n);

if(fh.equals("

+"

))arg+=n;

elseif(fh.equals("

-"

))arg-=n;

*"

))arg*=n;

%"

))arg%=n;

))arg=n;

tf.setText("

"

+arg+"

if(fh.equals("

/"

))

t=(double)arg/n;

tf.setText("

+t);

}

}

⑷退格

s1=s1.substring(0,text1.length()-1);

提取小数点之前的所有数据。

用for循环实现退格操作,

for(m=0;

m<

s1.length()-1;

m++){//按一下,删除尾部一位

a=s1.charAt(m);

tf.setText(tf.getText()+a);

if(m==s1.length()-2){

tf.setText(tf.getText()+"

}

返回第m位置的字符串。

main()方法:

创建Calculator类对象,调用disp()方法。

2.4代码实现

publicclassCalculatorimplementsActionListener{

JFramef;

JButtonbc,c,plus,jian,cheng,chu,equ,bfh;

//退格,清空,加,减,乘,除,等号,百分号

JButtonb[]=newJButton[10];

doublet;

intm,arg;

finalintslength=20;

Stringfh=null;

booleanflag=true;

Stringop="

publicvoiddisp(){

f=newJFrame("

简易计算器"

f.setBounds(400,300,220,240);

//窗体的大小以及位置

f.setLayout(newFlowLayout());

//流式布局

f.setResizable(false);

//固定窗体的大小

tf=newJTextField(16);

0."

//设置文本框的初始值为0

tf.setHorizontalAlignment(SwingConstants.RIGHT);

//文本框内的数字右对齐

tf.setEditable(false);

//文本框为不可编辑

f.add(tf);

//放置一个面板用来放置Back,C按钮

Panelpa1=newPanel();

f.add(pa1);

pa1.setLayout(newGridLayout(1,2,5,5));

bc=newJButton("

Back"

bc.setForeground(Color.BLUE);

//设置字体颜色

pa1.add(bc);

c=newJButton("

C"

c.setForeground(Color.BLUE);

pa1.add(c);

Panelpa2=newPanel();

f.add(pa2);

pa2.setLayout(newGridLayout(1,2,1,1));

//网格布局

//左侧面板放置数字按钮

Panelpa2L=newPanel();

f.add(pa2L);

pa2L.setLayout(newGridLayout(4,3,3,3));

inti=1;

for(m=7;

i++,m++){

b[m]=newJButton(String.valueOf(m));

//右侧面板放置运算符按钮

Panelpa2R=newPanel();

f.add(pa2R);

pa2R.setLayout(newGridLayout(4,1,3,3));

plus=newJButton("

plus.setForeground(Color.RED);

jian=newJButton("

jian.setForeground(Color.RED);

cheng=newJButton("

cheng.setForeground(Color.RED);

chu=newJButton("

chu.setForeground(Color.RED);

equ=newJButton("

equ.setForeground(Color.RED);

bfh=newJButton("

bfh.setForeground(Color.RED);

pa2R.add(cheng);

pa2R.add(jian);

pa2R.add(plus);

pa2R.add(equ);

pa2L.add(bfh);

pa2L.add(chu);

bc.addActionListener(this);

c.addActionListener(this);

plus.addActionListener(this);

jian.addActionListener(this);

cheng.addActionListener(this);

chu.addActionListener(this);

equ.addActionListener(this);

bfh.addActionListener(this);

f.addWindowListener(newWindowAdapter()//关闭窗口

f.setVisible(true);

publicvoidactionPerformed(ActionEvente){

Strings=e.getActionCommand();

Stringtext1=tf.getText();

Stringtext=text1.substring(0,text1.length()-1);

if('

else{

elseif(e.getSource()==plus||e.getSource()==jian||e.getSource()==cheng||e.getSource()==chu||e.getSource()==bfh){

op=s;

fh=s;

elseif(e.getSource()==equ){

calculate(Integer.parseInt(text));

if(e.getSource()==c){//清空

flag=true;

elseif(e.getSource()==bc){//退格

Strings1=tf.getText();

s1=s1.substring(0,text1.length()-1);

chara=0;

if(s1.length()>

1){

tf.setText("

for(m=0;

publicstaticvoidmain(Stringargs[]){

Calculatorcal=newCalculator();

cal.disp();

//调用disp()方法

}

2.5程序运行与发布

在Eclipse集成环境中,直接运行Calculator主类,即可执行日历记事本程序,程序运行结果如图所示:

计算器程序界面

设计记事本程序,实现新建、打开、保存、复制、粘贴、设置字体等功能。

所设计的记事本程序在窗体中添加了菜单条、工具栏,用工具栏实现快速打开、保存等功能。

在编辑菜单下有复制、剪切、粘贴功能。

jta

文本域

jmb

JMenuBar

菜单条

jmf,jme,jmg

JMenu

文件、编辑、格式

jmin,jmio,jmis,

copy,cut,paste

JMenuItem

新建、打开、保存、复制、剪切、粘贴

jcuti1,jxieti1

JCheckBoxMenuItem

粗体、斜体

TextEdit

创建窗口

构造方法

windowClosing

关闭窗体

importjava.io.*;

创建TextEdit类实现各个接口:

publicclassCalculatorimplementsActionListener,

ItemListener,WindowListener{};

⑴初始化一个容器,Containerc=this.getContentPane();

不能直接Jframe上添加组件,必须先调用getContentPane()方法。

⑵创建JscrollPane对象jsp,JtextArea不具备滚动能力,但实现了javax.swing包中的javax.swing.ScrollPane接口,允许把它放在JscrollPane中从而实现JtextArea的滚动。

⑶向容器中添加菜单条、工具栏,分别在其中添加菜单项、复选菜单项以及按钮。

重写actionPerfored()方法,e.getSource()返回发生Event的对象,获得事件源。

⑴新建,将文本区内容设为空;

复制、剪切、粘贴分别调用javax.swing包中的方法。

⑵单击复选菜单项设置字体,实现ItemListener接口,重写itemStateChanged()方法,getState()返回复选菜单项的状态。

⑶关闭窗体,重写WindowListener接口中的方法,但其中六个方法的方法体为空。

创建确认对话框,intJOptionPane.showConfirmDialog(所属Jframe,要求确认内容,对话框标题,yes-no按钮)。

⑷打开、保存事件,先创建对象,然后用读写方法从文件中读取数据或将数据写入文件,最后关闭数据流。

构造方法:

在方法中为各个组件注册监听器。

importjava.io.*;

publicclassTextEditextendsJFrameimplementsActionListener,ItemListener,WindowListener

{

Containerc=this.getContentPane();

//初始化一个容器

JTextAreajta=newJTextArea("

简易记事本"

23,15);

JScrollPanejsp=newJScrollPane(jta);

//创建JScrollPane对象,并将jta放入JScrollPane

JMenuBarjmb=newJMenuBar();

JToolBarjToolBar=newJToolBar();

JButtonjButton1=newJButton("

打开"

JButtonjButton2=newJButton("

新建"

JButtonjButton3=newJButton("

保存"

JMenujmf=new

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2