2012-04-12 15 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); 

をこれは、Windowsのダイアログとスクロールバーを開き、それが正常に動作しますが、MAC OS内のダイアログが画面の外に出ます。

誰でも助けてくれますか?

答えて

0

あなたは、そのサイズを制限するためのダイアログを表示する前に、あなたのscrollPaneの推奨サイズを設定することができます。

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

ディメンションを使用するためには、あなたがこのように取得することができ、画面のサイズに基づくことができます

Toolkit.getDefaultToolkit().getScreenSize() 

私はこれをMac OS X以外のプラットフォームでテストしていません。

関連する問題