【问题标题】:oracle jdbc jface wizardpageoracle jdbc jface 向导页面
【发布时间】:2011-03-12 01:25:13
【问题描述】:
我想创建一个 jface 向导并在进行过程中收集凭据 - 第 1 页上的密码和用户名,然后在第 2 页上我想显示从 oracle 数据库获取的列表。
我正在使用 Eclipse,并在我想要的地方拥有所有控件。在第 2 页上,我将 oracle 连接详细信息和 sql 语句放在了 wizardpage 的 createControl 方法中。这似乎因找不到类(我的构建路径中包含 ojdbc6.jar)而失败,我无法确定这是 Eclipse 问题还是我的代码(我的代码在独立时有效,而不是在向导中)
失败发生在我启动向导页面时,它可能会这样做,因为那时我还没有获得正确的凭据。当您进入该向导页面时,我在向导页面文档中找不到运行东西的方法。有没有在入口处运行的方法?
我想连接到数据库以下拉列表来填充表格。
干杯
大卫
【问题讨论】:
标签:
eclipse
oracle
jdbc
jface
wizard
【解决方案1】:
打开向导时,会在所有页面上调用 createControl 方法。您应该只使用 createControl 来布局 SWT 或 JFace 对象。
您可能希望在第二个页面可见时初始化 JDBC 连接。那时,您将在页面上加载您的列表。为此,请重写第二页上的 setVisible 方法,如下所示:
/* (non-Javadoc)
* @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean)
*/
@Override
public void setVisible(boolean visible) {
super.setVisible(visible);
if(visible){
// initialize the jdbc connection here - use a data access object
// use the connection or the DAO to populate your list
}
}
这样,当第二个页面可见时,连接将被初始化。 setVisible 方法的另一件有用的事情是通过在相关控件上调用 forceFocus() 将焦点分配给正确的控件。