2017-03-16 64 views
1

我正在創建intelliJ插件並註冊我的動作,在我的動作內我想顯示一個輸入對話框與多個文本框,我該怎麼做? 我只顯示一個文字框的一個例子 -intellij插件開發顯示與多個文本框的輸入對話框

String txt= Messages.showInputDialog(project, "What is your name?", 
            "Input your name", Messages.getQuestionIcon()); 

回答

1

創建一個新的GUI表單(form +類)。類應該延伸DialogWrapper並覆蓋方法。

裏面createCenterPanel()返回你的根JPanel。在返回JPanel之前,您可以設置任何默認值,將事件偵聽器添加到文本框等。

執行Action接口,您希望在單擊確定按鈕時獲取該值。將此操作傳遞給您的表單類。

getOKAction()應該返回這個動作。

以下代碼來自我目前正在處理的插件。希望這會給你一些想法,但將不得不適應你的需要。

public class ReleaseNoteDialog extends DialogWrapper implements Action { 
    private JTextArea txtReleaseNote; 
    private JPanel panelWrapper; 

    ....... 
    protected JComponent createCenterPanel() { 
     ...... 
     return panelWrapper; 
    } 
    ...... 
    @Override 
    protected Action getOKAction() { 
     return this; 
    } 
    ....... 
    @Override 
    public void actionPerformed(ActionEvent e) { 
     // save value to project state 
     super.doOKAction(); 
    }