2010-07-05 46 views
1

我想创建一个jface向导,并随着我一起收集凭证 - 第1页上的密码和用户名,然后是第2页上的信息我想显示从Oracle数据库获得的列表。oracle jdbc jface wizardpage

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

失败发生在我启动向导页面时,它可能会做,因为我没有得到正确的凭据。在输入该向导页时,我无法在wizardpage文档中找到运行内容的方法。有没有一种方法可以在入口处运行?

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

干杯

大卫

回答

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()来将焦点分配给正确的控件。