public?static?Object?showInputDialog(Component?parentComponent,
Object?message,?String?title,?int?messageType,?Icon?icon,
Object[]?selectionValues,?Object?initialSelectionValue)
throws?HeadlessException?{
JOptionPanepane?=?new?JOptionPane(message,?messageType,
OK_CANCEL_OPTION,?icon, null,?null);pane.setWantsInput(true);
pane.setSelectionValues(selectionValues);
pane.setInitialSelectionValue(initialSelectionValue);
pane.setComponentOrientation(((parentComponent?==?null)?
getRootFrame()?:?parentComponent).getComponentOrientation());
int?style?=?styleFromMessageType(messageType);
JDialog?dialog?=?pane.createDialog(parentComponent,?title,?style);
pane.selectInitialValue();
dialog.show();
dialog.dispose();
Object?value?=?pane.getInputValue();
if?(value?==?UNINITIALIZED_VALUE)?{
return?null;
}
return?value;
}?
也就是說實際上控制對話框大小的是JDialog.那麽在使用的時候不要直接使用showInputDialog這個方法了,把這個方法加以封裝成為壹個新的方法來使用.
public?class?Test{ public?static?Object?showInputDialog(Object?message,int?messageType,int?optionType,String?title,int?width,int?height){ JOptionPane?pane?=?new?JOptionPane(message,?messageType,?optionType); pane.setWantsInput(true); JDialog?dialog?=?pane.createDialog(title); dialog.setSize(width,?height); dialog.show(); dialog.dispose(); Object?value?=?pane.getInputValue(); if(value?==?JOptionPane.UNINITIALIZED_VALUE)return?null; return?value; } public?static?void?main(String...?args){ showInputDialog("請輸入:",JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION,"Test",400,300); }}
以上的代碼幫妳稍微封裝了壹下,覺得不滿意妳可以自己根據源碼來修改封裝的內容.我封裝的方法第壹個參數是顯示的內容,第二個是對話框的風格,比如question,error等,第三個是按鈕的風格,也就是是否包含確定取消等,第四個參數是標題,剩下倆是對話框的大小.