我已经编写了下面的代码来显示一些信息,并通过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]);
}
}
答案 0 :(得分:2)
使用JDialog
构建自己的对话框,并指定布局,按钮和消除“怪异行为”所需的任何其他细节。 JOptionPane
很方便,但不是对话的灵丹妙药。
答案 1 :(得分:2)
将JScrollPane添加到选项窗格。 setLineWrap设计为在将文本区域添加到滚动窗格时使用。