oracle jdbc jface wizardpage - PullRequest
       13

oracle jdbc jface wizardpage

1 голос
/ 06 июля 2010

Я хочу создать мастер jface и собирать учетные данные по мере продвижения - пароль и имя пользователя на странице 1, а затем на странице 2. Я хочу отобразить список, полученный из базы данных Oracle.

Яиспользуя затмение, и все элементы управления в тех местах, которые я хочу.На странице 2 я поместил детали соединения Oracle и оператор SQL в методе createControl на странице мастера.Похоже, что это не с классом не найден (ojdbc6.jar включен в мой путь сборки), который я не могу решить, является ли это проблемой затмения или моим кодом (мой код работает, когда он автономен, а не в мастере)*

Ошибка возникает, когда я запускаю страницу мастера, что, вероятно, и будет, поскольку в тот момент у меня не было правильных учетных данных.Я не смог найти метод в документации на странице мастера для запуска чего-либо при входе на эту страницу мастера.Есть ли метод, который запускается при записи?

Я хочу подключиться к базе данных, чтобы развернуть список для заполнения таблицы.

Приветствия

Дэвид

1 Ответ

3 голосов
/ 17 апреля 2011

Метод 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 () соответствующего элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...