1

我想创建一个 jface 向导并在进行过程中收集凭据 - 第 1 页上的密码和用户名,然后在第 2 页上我想显示从 oracle 数据库获得的列表。

我正在使用 eclipse,并在我想要的地方拥有所有控件。在第 2 页上,我将 oracle 连接详细信息和 sql 语句放在了 wizardpage 的 createControl 方法中。这似乎因找不到类(我的构建路径中包含 ojdbc6.jar)而失败,我无法确定这是 Eclipse 问题还是我的代码(我的代码在独立时有效,而不是在向导中)

失败发生在我启动向导页面时,它可能会这样做,因为那时我还没有获得正确的凭据。当您进入该向导页面时,我在向导页面文档中找不到运行东西的方法。有没有在入口处运行的方法?

我想连接到数据库以下拉列表以填充表。

干杯

大卫

4

1 回答 1

3

打开向导时,会在所有页面上调用 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() 将焦点分配给正确的控件。

于 2011-04-16T20:27:09.123 回答