2012-04-12 49 views
3
JOptionPane.showConfirmDialog(this, 
           message, 
           "title", 
           JOptionPane.YES_NO_OPTION, 
           JOptionPane.WARNING_MESSAGE); 

消息可以是10行,消息可以是500行。它动态变化。如果消息超出屏幕高度,我想实现滚动条。当消息较大时,JOptionPane.showConfirmDialog不在屏幕上

所以,我想:

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); 

这将打开一个对话框和窗口滚动条,它工作正常,但在Mac OS的对话框超出屏幕。

任何人都可以帮助我吗?

回答

0

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

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

使用的尺寸可以根据屏幕尺寸,你可以检索这样的:

Toolkit.getDefaultToolkit().getScreenSize() 

请注意,我还没有在除Mac OS X之外的其他平台上测试过此功能。

相关问题