本文是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