实验八基于图形用户界面的JDBC程序开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4基于图形用户界面的JDBC程序开发 (2)

淮海工学院计算机科学系

实验报告书

课程名:__ Java___________

题目:_基于图形用户界面的JDBC程序开发

班级:__ ___________

学号:__ __________

姓名:__ __________ _

一、实验目的

熟练运用GUI标准组件和布局管理器,正确合理地利用常用AWT和Swing组件进行

图形界面的设计;理解Java的事件处理机制,正确运用Java的事件处理机制及事件委托模型编写图形界面组件的事件处理程序;理解Java多线程机制,掌握线程使用方法。

理解JDBC的数据库访问编程原理,正确利用JDBC技术编写以数据库应用为核心的软件系统,并在设计中灵活运用之前所学的Java语言面向对象的编程技术。

二、实验环境

操作系统:windows 2000 或 Window XP

集成开发环境:JDK1.6及以上版本

三、实验学时

2学时,必做实验。

四、实验内容

(1)进一步熟悉JavaGUI标准组件和布局管理器、正确合理地利用常用AWT和Swing组件进行图形界面的设计;理解Java的事件处理机制,正确运用Java

的事件处理机制及事件委托模型编写图形界面组件的事件处理程序;实践程

序调试方法、纠错能力及编程规范性等;理解JDBC的数据库访问编程原理,

正确利用JDBC技术编写以各种数据库应用;

(2)按以下各题目具体要求调试或编写相关算法程序

五、实验步骤与结果

1 请按照以下功能要求编写并调试相关程序

(1) 请定义一个抽象的“科学图书”类,其中包含1个公共的抽象方法:图书介绍;1个属性为:图书类别 (字符串类型);

(2) 定义一个“计算机图书”子类(继承于“科学图书”类),其中包括2个域:出版社、定价;2个构造方法:一个为无参构造方法,在该无参构造方法中将“图书类别”设置为“计算机图书”,一个带2个参数(出版社、定价);不少于2个成员方法:分别用来查看出版社、修改定价,图书介绍文字可自编,并编写输出计算机图书全部信息的toString()方法。

(3) 编写一个图形用户界面,用来测试能否正确创建计算机图书类的对象、能否正常调用其方法,参考界面如下。必须实现的基本功能是:

1)单击图中的“新增计算机图书”按钮,则可显示出新增的计算机图书信息(显示信息的控件不限,用文本域、列表框、表格均可),要求添加的计算机图书不少于2本,如下图所示:

图1 运行截图——新增计算机图书

2)单击图中的“修改定价”按钮,可修改其中某本图书的定价,并在下方显示出修改后的结果

请按照实验内容具体要求完成相关设计与编程,实验步骤;

(1) 程序代码

import java.awt.*;

import java.awt.event.*;

class CM extends Frame implements ActionListener

{

CMBook start; //当做链表的开头

Panel 操作栏;

Label 出版社,定价,显示;

TextField 出版社栏,定价栏;

Button 新增计算机图书,修改定价;

TextArea 显示内容;

CM()

{

super("计算机图书类操作图形用户界面");

start=null;

显示=new Label();

显示内容=new TextArea();

显示内容.setSize(80,50);

新增计算机图书=new Button("新增计算机图书");

修改定价=new Button("修改定价");

新增计算机图书.addActionListener(this);

修改定价.addActionListener(this);

操作栏=new Panel();

操作栏.setSize(60,5);

出版社=new Label("出版社");

定价=new Label("定价");

出版社栏=new TextField(10);

定价栏=new TextField(5);

操作栏.add(出版社);操作栏.add(出版社栏);

操作栏.add(定价);操作栏.add(定价栏);

操作栏.add(新增计算机图书);操作栏.add(修改定价);

setTitle("计算机图书类操作的图形界面");

add(操作栏,BorderLayout.NORTH);

add(显示内容,BorderLayout.CENTER);

add(显示,BorderLayout.SOUTH);

setBounds(300,300,500,500);

setVisible(true);

validate();

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==新增计算机图书)

{

String one=出版社栏.getText();

String two=定价栏.getText();

if(Integer.parseInt(two)<0)

{

显示.setText("价格不能为负数");

}

else

{

CMBook mid=new CMBook(one,Integer.parseInt(two));

mid.next=start;

start=mid;

显示内容.append(mid.toString());

}

}

else if(e.getSource()==修改定价)

{

int pricenew;

CMBook point;

String one,two,three;

one=出版社栏.getText();

two=定价栏.getText();

point=start;

while(true)

{

if(point==null)

{

显示.setText("查找不到该类别");

break;

}

if(point.出版社.equals(one))

{

point.定价=Integer.parseInt(two);

显示内容.append("价格修改完成"+point.toString());

break;

}

else

{

相关文档
最新文档