我需要从弹出的JOptionPane(或其他一些弹出窗口)中获取多行输入,但我的大部分搜索都指向那里,这是我被卡住的地方……).我坚持使用
JOptionPane.showInputDialog(null, new JTextArea(20,20));
但我希望只将20×20区域读取到一个字符串,并且不显示任何文本字段.
我认为必须有一些方法可以做到这一点,但其他类型的对话框似乎只返回一个int …它不必是一个JOptionPane,只要它是一个单独的弹出窗口,我的主GUI可以读回一个字符串进行读取.
解决方法:
在传递给JOptionPane之前保持对JTextArea的引用,JOptionPane将告诉您用户做了什么(他们如何关闭对话框)并根据结果,您可能想要做不同的事情
JTextArea ta = new JTextArea(20, 20);
switch (JOptionPane.showConfirmDialog(null, new JScrollPane(ta))) {
case JOptionPane.OK_OPTION:
System.out.println(ta.getText());
break;
}
有关详细信息,请参见How to Make Dialogs