JOptionPane与JTextArea而不是文本字段?

时间:2015-01-27 05:41:23

标签: java swing user-interface jtextarea joptionpane

我需要从弹出的JOptionPane(或其他一些弹出窗口)中获取多行输入,但我的大部分搜索都指示我,这是我被卡住的地方..)。我坚持使用

JOptionPane.showInputDialog(null, new JTextArea(20,20));

但我希望只将20x20区域读取到字符串而不显示文本字段。 我认为必须有一些方法可以做到这一点,但其他类型的对话框似乎只返回一个int ...它不必是一个JOptionPane,只要它是一个单独的弹出窗口从我的主GUI可以读取一个字符串来读取。

1 个答案:

答案 0 :(得分:8)

在传递给JTextArea之前保留对JOptionPane的引用,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