功能齐全的计算器java.docx
- 文档编号:3488324
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:47
- 大小:222.60KB
功能齐全的计算器java.docx
《功能齐全的计算器java.docx》由会员分享,可在线阅读,更多相关《功能齐全的计算器java.docx(47页珍藏版)》请在冰豆网上搜索。
功能齐全的计算器java
实验题目:
java集中上机
指导老师:
小组成员:
班级:
定稿日期:
2011-5-30
目录
一、实验环境3
二、需求分析3
三、数据库的概念设计3
3.1图书概览E-R图3
3.2用户信息E-R图4
四、数据库的逻辑设计4
五、系统功能模块4
六、系统流程图6
七、源代码部分7
7.1登陆界面:
程序名Login.java7
7.2图书概览:
程序名BookBrower.java10
7.3图书查询:
程序名QueryBook.java14
7.4图书删除:
程序名RemoveBook.java18
7.5图书入库:
程序名BookIn.java23
7.6主界面:
程序名Book.java28
7.7密码修改:
程序名UpdateMima.java30
八、界面设计35
一、设计题目
功能齐全的计算器
二、设计要求
在功能上尽量模拟windows操作系统中的计算器,能输入0-9的数字输入功能;计算加、减、乘、除以及开根号等运算,界面美观。
三、设计目的
1、通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好巩固《面向对象程序设计——java》课程学习内容,掌握工程软件设计的基本方法,强化上机动手编程能力。
2、通过java课程设计,了解了更高级的程序设计语言的结构,掌握基本的程序设计过程和技巧。
四、各模块的功能介绍和实现
1、GUI图形界面的组件
五、系统功能模块
系统共有4个功能模块:
图书入库、图书查询、图书删除、图书概览、修改密码。
支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、修改密码等。
说明:
首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;然后判断,如果判断失败退出系统,否则进入图书管理系统的主界面。
进入主界面后,用户要选择所需执行的功能,即通过鼠标点击相应项,来完成所需操作。
六、系统流程图
七、源代码部分
7.1登陆界面:
程序名Login.java
importjava.awt.event.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.Container;
importjava.util.*;
importjava.sql.*;
classLoginextendsJFrameimplementsActionListener
{Containercp=null;
JFramef=null;
JButtonj1,j2;
JTextFieldt1;
JPasswordFieldt2;
JLabeljlable1,jlable2;
Colorc;
JPaneljp1,jp2;
Login(){
f=newJFrame("小型图书管理系统");
j1=newJButton("确定");
j2=newJButton("取消");
cp=f.getContentPane();
jlable1=newJLabel("输入用户名");
jlable2=newJLabel("用户密码");
jp1=newJPanel();
jp2=newJPanel();
t1=newJTextField(18);
t2=newJPasswordField(18);
jp1.add(jlable1);
jp1.add(t1);
jp1.add(jlable2);
jp1.add(t2);
JLabelJL=newJLabel("
cp.add(JL,"North");
jp2.add(j1);
jp2.add(j2);
cp.add(jp1,"Center");
cp.add("South",jp2);
jp1.setBackground(newColor(255,153,255));
Toolkitkit=Toolkit.getDefaultToolkit();
Dimensionscreen=kit.getScreenSize();
intx=screen.width;/*取得显示器窗口的宽度*/
inty=screen.height;/*取得显示器窗口的高度*/
//setSize(x,y);/*让系统窗口平铺整个显示器窗口*/
f.setSize(300,300);
intxcenter=(x-300)/2;
intycenter=(y-300)/2;
f.setLocation(xcenter,ycenter);/*显示在窗口中央*/
f.setVisible(true);
//-----------------------------------------------------
j1.addActionListener(this);//注册事件监听器
j2.addActionListener(this);
f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
);
}
publicvoidconfirm()//验证用户和密码是否存在
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Statementsql=con.createStatement();
Stringuname=t1.getText().trim();
StringMima=t2.getText().trim();
StringqueryMima="select*fromuserwhere用户名='"+uname+"'and密码='"+Mima+"'";
ResultSetrs=sql.executeQuery(queryMima);
if(rs.next())
{
newBook(uname);
f.hide();
con.close();
}else{
JOptionPane.showMessageDialog(null,"该用户不存在","提示!
",
JOptionPane.YES_NO_OPTION);
}
t1.setText("");
t2.setText("");
}catch(SQLExceptiong)
{
System.out.println("ECode"+g.getErrorCode());
System.out.println("EM"+g.getMessage());
}
}
publicvoidactionPerformed(ActionEvente)
{
Stringcmd=e.getActionCommand();
if(cmd.equals("确定")){
confirm();
}
elseif(cmd.equals("取消")){
f.dispose();
}
}
publicstaticvoidmain(String[]arg){
Logina=newLogin();
}
}
7.2图书概览:
程序名BookBrower.java
importjava.awt.event.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.Container;
importjava.util.*;
importjava.sql.*;
classBookBrowerimplementsActionListener
{
JFramef;
Containercp;
JPaneljpS,jpanelWest;
JButtonjbt1,jbt2;//按钮,查询、取消、修改
JLabellabel,L;//标签
//定义文本框
JTabletable;//用来接收数据库中返回的信息
ObjectcolumnName[]={"图书名","图书号","单价","作者","出版社","入库时间"};
Objectar[][]=newObject[80][6];
Stringsno;
Stringcount="xx";
BookBrower()
{
f=newJFrame();
cp=f.getContentPane();//初始化面板、按钮、标签、文本框
jpS=newJPanel();
jpanelWest=newJPanel();
//------------------------------------------------
jbt1=newJButton("确定");
jbt2=newJButton("返回");
//------------------------------------------------
label=newJLabel("
label.setForeground(Color.blue);
L=newJLabel("书库现在共有图书"+count+"本");
//------------------------------------------------
table=newJTable(ar,columnName);//ar存放表中的数据,columnname表示列名
JScrollPanescrollpane=newJScrollPane(table);
//------------------------------------------------
//布局,添加控件
jpS.add(jbt1);
jpS.add(jbt2);
JPaneljpanel=newJPanel();
jpanel.add(label);
JPanelpp4=newJPanel();
JPaneljpE=newJPanel();
cp.add(jpanel,"North");
JPaneljp=newJPanel();
//jp.add(scrollpane);
JPanelp=newJPanel();//用来放两个表
p.setLayout(newBorderLayout());
p.add(L,"North");
p.add(scrollpane);
cp.add(pp4,"West");
cp.add(p,"Center");
cp.add(jpS,"South");
cp.add(jpE,"East");
//------------------------------------------------
Toolkitkit=Toolkit.getDefaultToolkit();
Dimensionscreen=kit.getScreenSize();
intx=screen.width;/*取得显示器窗口的宽度*/
inty=screen.height;/*取得显示器窗口的高度*/
f.setSize(400,330);
intxcenter=(x-350)/2;
intycenter=(y-330)/2;
f.setLocation(xcenter,ycenter);/*显示在窗口中央*/
f.setVisible(true);
//-------------------------------------------------
jbt1.addActionListener(this);//注册监听器
jbt2.addActionListener(this);
/*f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
);*/
}
//------------------------------------------------
inti=0;
publicvoidshowRecord()
{
while(i>=0)
{
ar[i][0]="";
ar[i][1]="";
ar[i][2]="";
ar[i][3]="";
ar[i][4]="";
ar[i][5]="";
i--;
}
i=0;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione){System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=Book.mdb";//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Strings="select*frombook";
Statementsql=con.createStatement();
ResultSetrs=sql.executeQuery(s);
while(rs.next())
{
Stringbname=rs.getString
(1);
Stringbno=rs.getString
(2);
Stringprice=rs.getString(3);
Stringwriter=rs.getString(4);
Stringpublish=rs.getString(5);
Stringindate=rs.getString(6);
ar[i][0]=bname;
ar[i][1]=bno;
ar[i][2]=price;
ar[i][3]=writer;
ar[i][4]=publish;
ar[i][5]=indate;
i++;
}
count=""+i+"";
L.setText("书库现在共有图书"+count+"本");
f.repaint();
con.close();
}catch(SQLExceptiong)
{
System.out.println("ECode"+g.getErrorCode());
System.out.println("EM"+g.getMessage());
}
}
publicvoidactionPerformed(ActionEvente)
{
Stringcmd=e.getActionCommand();
if(cmd.equals("确定"))
{
f.hide();
}
if(cmd.equals("返回"))
f.hide();
}
publicstaticvoidmain(String[]arg){
BookBrowera=newBookBrower();
a.showRecord();
}
}
7.3图书查询:
程序名QueryBook.java
importjava.awt.event.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.Container;
importjava.util.*;
importjava.sql.*;
classQueryBookimplementsActionListener
{
JFramef3;
Containercp;
JPaneljp1,jp2,jp3,jp4,jp,jpanelWest;
JButtonjbt1,jbt2;//按钮,确定、取消
JLabellabel;//标签:
请输入图书号
JTextFieldtf,tf1,tf2,tf3,tf4,tf5,tf6;//定义文本框
JLabellabel1,label2,label3,label4;
QueryBook()
{
f3=newJFrame();
cp=f3.getContentPane();//初始化面板、按钮、标签、文本框
jp1=newJPanel();
jp2=newJPanel();
jp3=newJPanel();
jp4=newJPanel();
jpanelWest=newJPanel();
jp=newJPanel();
//------------------------------------------------
jbt1=newJButton("确定");
jbt2=newJButton("取消");
//------------------------------------------------
label=newJLabel("
",SwingConstants.CENTER);
label.setForeground(Color.blue);
tf=newJTextField(20);
//------------------------------------------------
tf1=newJTextField(20);
tf2=newJTextField(20);
tf3=newJTextField(20);
tf4=newJTextField(20);
tf5=newJTextField(20);
tf6=newJTextField(20);
//------------------------------------------------
//布局,添加控件
JPaneljpanel=newJPanel();
jpanel.add(label);
jpanel.add(tf);
JPanelpp4=newJPanel();
JPaneljpane4=newJPanel();
cp.add(jpanel,"North");
JPanelpp2=newJPanel(newGridLayout(6,1));
JPanelpp3=newJPanel();
pp4.setLayout(newGridLayout(6,1));
pp4.add(newJLabel("图书名",SwingConstants.CENTER));
pp2.add(tf1);
pp4.add(newJLabel("图书号",SwingConstants.CENTER));
pp2.add(tf2);
pp4.add(newJLabel("单价",SwingConstants.CENTER));
pp2.add(tf3);
pp4.add(newJLabel("作者",SwingConstants.CENTER));
pp2.add(tf4);
pp4.add(newJLabel("出版社",SwingConstants.CENTER));
pp2.add(tf5);
pp4.add(newJLabel("入库时间",SwingConstants.CENTER));
pp2.add(tf6);
pp3.add(jbt1);
pp3.add(jbt2);
cp.add(pp4,"West");
cp.add(pp2,"Center");
cp.add(pp3,"South");
cp.add(jpane4,"East");
//------------------------------------------------
Toolkitkit=Toolkit.getDefaultToolkit();
Dimensionscreen=kit.getScreenSize();
intx=screen.width;/*取得显示器窗口的宽度*/
inty=screen.height;/*取得显示器窗口的高度*/
f3.setSize(350,330);
intxcenter=(x-350)/2;
intycenter=(y-330
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 功能 齐全 计算器 java
![提示](https://static.bdocx.com/images/bang_tan.gif)