2011-03-21 121 views
0

我已經編寫了下面的代碼以顯示一些信息並通過jOptionPane從用戶獲取響應。現在提供給此方法的文本會隨着時間的推移而增長,並且在文本數量增加一段時間後,jOptionPane會變得很奇怪,有時不會顯示按鈕,並且整個面板被文本佔據,並且按鈕無法訪問。正確顯示jOptionPane中顯示的消息的文本大小的按鈕時

我該如何解決這個問題?

public void jOptionPane1(agent, text) { 

      if (GetParameter("MessagesCheck")) { 

       String[] choices = ["Yes", "No", "Default"] 
       JTextArea textArea = new JTextArea(text); 
       textArea.setColumns(125); 
       textArea.setLineWrap(true); textArea.setWrapStyleWord(true); 
       int response = JOptionPane.showOptionDialog(null,textArea,"choices",0,JOptionPane.INFORMATION_MESSAGE,null,choices,choices[2]); 
       } 
     } 

回答

2

將JScrollPane添加到選項窗格中。 setLineWrap被設計爲在文本區域添加到滾動窗格時使用。

+0

非常感謝:)一行額外的代碼,並完成它! – blackace 2011-03-21 17:39:42

2

使用JDialog建立自己的對話框,並指定佈局,按鈕和其他細節,以消除「怪異行爲」需要。 JOptionPane是方便的,但不是對話的銀彈。