当消息很大时,JOptionPane.showConfirmDialog会退出屏幕

时间:2012-04-12 19:55:12

标签: java joptionpane

JOptionPane.showConfirmDialog(this, 
                              message,
                              "title",
                              JOptionPane.YES_NO_OPTION,
                              JOptionPane.WARNING_MESSAGE);

消息可以是10行,消息可以是500行。它动态变化。如果邮件超出屏幕高度,我想实现滚动条。

所以我试过了:

JTextArea textArea = new JTextArea (message);
JscrollPane scrollPane = new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JOptionPane.showConfirmDialog(this,
                              scrollPane,
                              "title",
                              JOptionPane.YES_NO_OPTION,
                              JOptionPane.WARNING_MESSAGE);

这将在Windows中打开一个对话框和一个滚动条,它可以正常工作,但在mac os中,对话框会离开屏幕。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以在显示限制其大小的对话框之前为scrollPane设置首选大小:

scrollPane.setPreferredSize(new Dimension(400, 200));

要使用的维度可以基于您可以检索的屏幕大小:

Toolkit.getDefaultToolkit().getScreenSize()

请注意,我没有在Mac OS X以外的其他平台上测试过这个。