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 に答える