DataWindow 是 PowerBuilder 核心優勢:強大的資料呈現、編輯、報表功能。Sybase 將其移植至 Java(JDataWindow)、.NET,讓非 PB 開發者也能享受其生產力。
以下示範在 Swing 應用程式中嵌入 JDataWindow,連接 Oracle 資料庫:
powersoft.datawindow.*、powersoft.powerj.db.*)public class JDataWindowApp extends JFrame {
private JDataWindowControl dwc;
private Transaction trans;
private final String PBL_PATH = "C:/PB7/Java.pbl";
public JDataWindowApp() {
dwc = createDataWindow("dw_products");
if (dwc != null) {
getContentPane().add(dwc);
pack();
}
}
private JDataWindowControl createDataWindow(String dwObject) {
JDataWindowControl dw = new JDataWindowControl();
dw.setSourceFileName(PBL_PATH);
dw.setDataWindowObjectName(dwObject);
dw.setVScroll(true);
dw.insertRow(0);
dw.setTransaction(getTransaction());
return dw;
}
private Transaction getTransaction() {
if (trans == null) {
trans = new Transaction();
trans.registerDriver("oracle.jdbc.driver.OracleDriver");
trans.setDataSource("jdbc:oracle:thin:@host:1521:sid");
trans.setUserID("user");
trans.setPassWord("pwd");
trans.connect();
}
return trans;
}
// 事件處理、CRUD 封裝...
}
隨著 PowerBuilder 經典版維護模式,新專案建議評估:
DataWindow 仍是存量 PB 專案移植 Java 的最佳橋樑,新專案則建議採用原生 Java 生態系。