JOptionPane显示对话框的问题?

adown 2006-11-11 01:28:15
如何覆写JOptionPane.showInputDialog()方法,要求此对话的显示位置,可以自定义?!!!
还望各位指点!
...全文
156 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
adown 2006-11-11
  • 打赏
  • 举报
回复
是设置dialog.setSize(xxx,yyy)就可以吗?
CMan_Java 2006-11-11
  • 打赏
  • 举报
回复
因为JOptionPane实际是封装了一系列JDialog的工厂类(暂且这样理解吧),如果你要实现自定义其显示的对话框,你就得自己实现一个JOptionPane,并且自己定义JDialog

下面是JOptionPane的源码:
public static Object showInputDialog(Component parentComponent,
Object message, String title, int messageType, Icon icon,
Object[] selectionValues, Object initialSelectionValue)
throws HeadlessException {
JOptionPane pane = 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;
}
adown 2006-11-11
  • 打赏
  • 举报
回复
继续,不太理解!说说原理,或代码解释一下
CMan_Java 2006-11-11
  • 打赏
  • 举报
回复
public class YourOptionPane extends JOptionPane{}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧