3
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 中,对话框会出现在屏幕外。

谁能帮我?

4

1 回答 1

0

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

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

要使用的尺寸可以基于您可以像这样检索的屏幕尺寸:

Toolkit.getDefaultToolkit().getScreenSize()

请注意,我没有在 Mac OS X 以外的其他平台上对此进行过测试。

于 2012-04-22T16:16:17.770 回答