带有 JTextArea 而不是文本字段的 JOptionPane?

JOptionPane with a JTextArea instead of a text field?

我需要从弹出窗口 JOptionPane(或其他一些弹出窗口,但我的大部分搜索都将我引导到那里,这就是我卡住的地方)获取多行输入。我坚持使用

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

但我只想将 20x20 区域读取为字符串并且不显示文本字段。 我认为必须有一些方法可以做到这一点,但其他类型的对话框似乎只是 return 一个 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