簡體   English   中英

將JTextField添加到JOptionPane中:ShowOptionDialog

[英]Adding a JTextField into a JOptionPane: ShowOptionDialog

我想知道是否可以將JTextField添加到ShowOptionDialog框中。

     int optionChosen = JOptionPane.showOptionDialog(finishPayInput,     
     dialogPanel, "The Title", JOptionPane.NO_OPTION,      
     JOptionPane.QUESTION_MESSAGE, null, options , options[0]); 

當我運行該程序時,將顯示對話框,但不會顯示JTextField。

您不能將文本字段添加到JOptionPane.showOptionDialog第一個參數是父組件而不是子組件。

請參閱文檔

public static int showOptionDialog(Component parentComponent,Object message,String title,int optionType,int messageType,Icon icon,Object [] options,Object initialValue)拋出HeadlessException

出現一個帶有指定圖標的對話框,其中初始選擇由initialValue參數確定,選擇數量由optionType參數確定。 如果optionType為YES_NO_OPTION或YES_NO_CANCEL_OPTION且options參數為null,則選項由外觀提供。

messageType參數主要用於提供外觀上的默認圖標。 參數:parentComponent-確定顯示對話框的框架; 如果為null,或者如果parentComponent沒有框架,則使用默認框架消息-要顯示的對象-對話框的標題字符串optionType-指定對話框上可用選項的整數:DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION或OK_CANCEL_OPTIONmessageType-整數指定消息的類型,主要用於從可插入的外觀確定圖標:ERROR_MESSAGE,INFORMATION_MESSAGE,WARNING_MESSAGE,QUESTION_MESSAGE或PLAIN_MESSAGEicon-顯示在對話框中的圖標選項-表示用戶可能選擇的對象數組可以使; 如果對象是組件,則正確渲染它們; 非字符串對象使用其toString方法呈現; 如果此參數為null,則選項由Look和FeelinitialValue決定-代表對話框默認選擇的對象; 僅在使用選項的情況下才有意義; 返回值:一個指示用戶選擇的選項的整數;如果用戶關閉對話框,則返回CLOSED_OPTION拋出:HeadlessException-如果GraphicsEnvironment.isHeadless返回true請參見:GraphicsEnvironment.isHeadless()

當然是。 最簡單的解決方案:

JTextField txt = new JTextField();
JOptionPane.showOptionDialog(null, finishPayInput, "The Title", JOptionPane.NO_OPTION,
                JOptionPane.QUESTION_MESSAGE, null, null, null);

但是,如果只想顯示JTextField (以獲取用戶輸入),最好的方法是使用JOptionPane.showInputDialog

JOptionPane.showInputDialog(null, "Insert value: ", "The title", JOptionPane.QUESTION_MESSAGE);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM