本文是Monica Pawlan的"JDK 1.2 Roadmap: Putting It All Together"一文的展开,它讲述了一个使用SQL命令和JDBC API的快速原型项目背后的故事。这篇文章覆盖了数据库表的定义和Swing组件的使用,而且在整个过程中给出了详尽的代码和大量的屏幕抓图。
在"JDK 1.2 Roadmap: Putting It All Together"这篇文章里,我们熟悉了 "杜克的面包店"的拥有人和操作者Kate Cookie。Kate曾经请程序员Madhavi Rao来为"杜克的面包店"设计了软件架构。在完成这项工作后,Madhavi去参与一个网上零售商的大规模java开发项目,因为Kate还需要一个原型系统,Madhavi就把这个工作推荐给了我。
Microsoft 推出了超越ODBC的一些新API,例如OLE(Object Linking and Embedding)DB,ADO(Active X Data Objects)和RDS(Remote Data Service)。OLE DB和ADO也是面向对象的可以执行SQL命令的数据库接口。然而OLE DB 是一种为工具而不是为开发人员设计的低层接口。ADO要更新些,更类似JDBC API一些,但是它不是纯的Java。RDS提供了类似于JDBC API的RowSet工具的功能,但是RDS并不是用Java编程语言写的,而且不可移植。
下面的代码片段来自于叫做DukeBakery的主类。这里您可以看到基本GUI组件的创建过程。 public class DukeBakery extends JFrame { PRivate DataPanel screenvar; private JTextArea msgout; private Connection dbconn;
public DukeBakery() { super( "DUKE'S BAKERY" ); // Set up GUI environment Container p = getContentPane(); screenvar = new DataPanel(); msgout = new JTextArea( 8, 40 ); p.setLayout( new FlowLayout() ); p.add( new JScrollPane( screenvar ) ); p.add( new JScrollPane(msgout) );
语句super( "DUKE'S BAKERY" );的执行调用了super类Jframe的构造函数,并将字符串"DUKE'S BAKERY"放置到窗口的标题栏上。然后我们就得到了一个容器对象p,它创建一个用来连接组件以供显示的内容窗格(content pane)。接下来一个DataPanel对象被实例化。这是我自已定义的一个类,我们将在下一节中具体分析它的代码。同时,一个有8字符行和40字符列的JtextArea被实例化。语句p.setLayout( new FlowL