2015-07-22 4 views
0

Я пишу Eclipseplugin, который должен создать новый проект. Это работает до сих пор, но мне нужно скопировать внешний файл в папку проекта. Я намереваюсь иметь кнопку «Обзор» на одной из моих WizardPages, которая открывает filedialog, где пользователь может перейти к файлу, и после закрытия диалога я могу использовать путь к этому файлу для различных действий. Моя проблема заключается в том, что диалоговое окно никогда не открывается. Сейчас я пытаюсь это тем путем (отрывок из моего wizardpage):Как открыть filedialog в мастере Eclipse

public void createControl(Composite composite) { 
     this.container = new Composite(composite, SWT.NONE); 
     GridLayout layout = new GridLayout(); 
     this.container.setLayout(layout); 
     layout.numColumns = 2; 

     Button browseButton = new Button(this.container, SWT.PUSH); 
     browseButton.setText("Browse"); 
     browseButton.addSelectionListener(new SelectionListener() { 

      @Override 
      public void widgetDefaultSelected(SelectionEvent arg0) { 

       FileDialog fileDialog = new FileDialog(DataPage.this.container.getShell(), SWT.OPEN);   
       fileDialog.setText("JZOS created File"); 
       String path = fileDialog.open(); 
       DataPage.this.setJzosCreatedName(path); 

     } 
    }); 

Я пытался несколько реализаций, которые я видел в примерах и учебниках, но ничего не сделало работу. Я предполагаю проблему с Shell, которую я даю filedialog. Я попытался открыть новую оболочку в функции widgetDefaultSelected, но она тоже не работала. Какие-либо предложения?

ответ

0

Вы должны использовать widgetSelected метод SelectionListener не widgetDefaultSelected

+0

Ну, я чувствую себя немного стыдно Сейчас: D Большое спасибо, что сделал трюк – Metalzwerg

Смежные вопросы