实验五Java项目开发实例

实验五Java项目开发实例
实验五Java项目开发实例

实验五Java项目开发实例

令狐采学

实验目的:

掌握运用RAD开发Java应用程序

目标要求:

1.掌握运用Visual Editor创建窗口应用程序

2.掌握通过JDBC连接数据库

内容简介:

本章将介绍MyLibrary的GUI应用程序。

实验说明:

第一节创建GUI应用程序

1.添加JDBC环境变量

在菜单栏点击“文件-> 新建-> 项目”,选择“Java项目”,点击“下一步”。

输入项目名称“MyLibraryGUI”,点击“下一步”。

在Java设置中选择“库”栏,点击“添加变量”。在“新建变量类路径条目”对话框中点击“配置变量”

在“类途径变量”对话框中点击“新建”按钮,会弹出“新建变量条目”对话框。在“名称”栏中输入“CLOUDSCAPE_DRIVER_JAR”,然后点击“文件”按钮,找到D:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v6/cloudscape/lib/db2 j.jar,如下图:

点击“确定”。再次点击“确定”。在弹出对话框点击“是”。

在“新建变量类路径条目”窗口中选择

,点击“确定”。

这样就在MyLibraryGUI项目里添加了Cloudscape 的JDBC驱动。点击“完成”按钮。

2.新建可视类(Visual Class)

在菜单栏选择“文件-> 新建-> 其它-> Java -> 可视类”,点击“下一步”。

在“Java类”窗口,“包”文本框输入mlg.library.gui,“名称”文本框输入“MyLibraryDesktopApp”,“样式”选择“Swing -> 框架”(选择后“超类”变成javax.swing.JFrame),点击“接口”右侧的“添加”,输入ActionListener,点击“确定”。勾选“puli bc static void main(String[] args)”,点击“完成”

在如下图的工作台中,点击1里的下三角箭头,将源代码区域最小化,点击2里的三角箭头使得选用板总是可见,将3处拉

伸使得选用板中各控件可以很好看到。

在RAD下侧的“属性”栏里,将“>标题”的值改为“图书馆图书管理”,如果想改变大小,可以将修改“>大小”的值。

点击MyLibraryDesktopApp.java可视编辑器里的面板JPanel(不是整个框架JFrame),在下面的“属性”栏中找到“布局”,默认值为BorderLayout,在列表中选择GridBagLayout。Ctrl+S保存。

3.添加GUI组件

下面向JFrame里添加Swing组件,使得图书馆图书管理的应用程序如下所示:

在左侧的“选用板”中点击“Swing组件”中的“JLabel”,然后将鼠标指针移至content pane。这时鼠标指针会显示(0, 0),这是GridBagLayout下的组件坐标。

再次点击鼠标,这个JLabel会出现在content pane的中央。

在“选用板”选择一个JTextField,将它放在刚才那个JLabel 的右边,鼠标指针会出现(1, 0)。

重复以上两步,一共添加共2个JLabel和JTextField。

在(1, 2)添加一个JButton。

点击一下(0, 0)的JLabel,再点击一下,输入“书名”两个字。用同样的方法,将第二个JLabel的文本改成“作者”。再将JButton的文本改成“添加”。

4.运行可视类

点击设计编辑器和属性栏之间的中的任一个箭头,使得

源代码编辑器出现。在源代码区域找到main方法,添加如下代码,用于在这个java类启动后能够运行图形界面:

public static void main(String[] args)

{

MyLibraryDesktopApp app = new MyLibraryDesktopApp();

app.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

app.setVisible(true);

}

右键点击“包资源管理器”中的MyLibraryDesktopApp.java,选择“运行-> Java应用程序”

会看到MyLibraryDesktopApp.java程序的运行界面:

5.添加事件处理方法

为上小节新建的“添加”按钮添加事件。在MyLibraryDesktopApp.java的可视编辑界面,右键点击“添加”按钮,选择“事件-> 添加事件”,在弹出的“添加事件”向导直接点击“完成”按钮。

察看MyLibraryDesktopApp.java的源代码,会看到添加了如下代码:

private JButton getJButton()

{

if (jButton == null)

{

jButton = new JButton();

jButton.setText("添加");

jButton.addActionListener(new

java.awt.event.ActionListener()

{

public void actionPerformed(java.awt.event.ActionEvent e)

{

System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()

}

});

}

return jButton;

}

现在将其中负责处理按钮事件的的

public void actionPerformed(java.awt.event.ActionEvent e)

{

System.out.println("actionPerformed()");//TODOAuto-generated Event stub actionPerformed()

}

更改为如下代码,作用是当用户按下按钮后将用户所输入的信息添加到数据库,如果添加成功则弹出添加成功的消息框。

public void actionPerformed(java.awt.event.ActionEvent e)

{

String BookName = jTextField.getText();

String BookAuthor = jTextField1.getText();

try

{

BookInfoFactory.InsertBooksInfo(BookName, BookAuthor);

JOptionPane.showMessageDialog(null, BookName

+ "已成功添加到数据库", "添加成功",

https://www.360docs.net/doc/4b5228913.html,RMATION_MESSAGE);

} catch (SQLException e1)

{

e1.printStackTrace();

}

}

(产生的错误将在下一节处理)

6.GUI应用程序通过JDBC与数据库的连接

在“包资源管理器”中的MyLibraryGUI项目点击右键,选择“新建-> 包”,输入包名“mlg.library.db”,在新建的包

mlg.library.db中点击右键,选择“新建-> 类”,新建一个DatabaseManager.java的类,指定JDBC和数据源,用于与数据库连接。

输入以下代码:

public class DatabaseManager

{

public static Connection getConnection() throws SQLException

{

Connection con = null;

try

{

Class.forName("com.ibm.db2j.jdbc.DB2jDriver");

con = DriverManager

.getConnection("jdbc:db2j:D:\\Projects\ \RAD\\database\\MyLibrary");

} catch (Exception e)

{

e.printStackTrace();

con.close();

}

return con;

}

}

RAD会给出错误提示,需要导入相应的类库,点击“Shift + Ctrl + O”,选择“java.sql.Connection”,点击“完成”:同样在mlg.library.db包下新建一个名为“BooksInfoFactory.java”的类,InsertBooksInfo()方法用于接受用户输入信息后将信息转换为输入数据库的SQL语句并执行,使其写到数据库中,getAllBooksInfo()从数据库中取得所有图书信息。

输入如下代码:

public class BookInfoFactory

{

public staticvoid InsertBooksInfo(String name, String author) throws SQLException

{

String id = (new Double((Math.floor(1000000*Math.random())))).toString();

String SQLstr = "INSERT INTO mls.bookinfo"

+ " (ID,BOOKNAME,AUTHOR)"

+ " VALUES ('" + id +"','" + name + "','" + author + "')";

System.out.println(SQLstr);

DatabaseManager.getConnection().createStatement().executeUpdat e(SQLstr);

}

}

并用“Shift + Ctrl + O”导入相应的包。

运行MyLibraryDesktopApp.java,输入一本书的信息,比如:点击“添加”,如果添加成功,会有提示:

在RAD右上角的透视图选择“数据”,转换到数据模式透视图。

在左下侧的“数据库资源管理器”,右键点击“MyLibraryConnection”,选择“重新连接”。连接成功后选择“MLS -> 表-> MLS.ACCOUNTINFO”,点击右键选择“样本内容”

可以在“DB输出”栏看到刚才添加的书籍的信息已经成功输入到数据库中

相关主题
相关文档
最新文档