Java 调整showInputDialog文本区域的大小?

Java 调整showInputDialog文本区域的大小?,java,swing,groovy,jframe,joptionpane,Java,Swing,Groovy,Jframe,Joptionpane,我正在使用带有Swing的Groovy/Java,并尝试构建JOptionPaneshowInputDialog框架,该框架弹出给用户,并在文本字段中接受用户输入 是的,很简单。但我的问题是,默认情况下,showInputDialog文本区域非常小,为了可用性,我希望它更大 有人知道如何调整textarea的大小吗 例如: 这就是我得到的 但这正是我想要的 您可能会成功地使用您的答案,或者至少以某种方式使用它 JLabel label = new JLabel("MESSAGE"); la

我正在使用带有Swing的Groovy/Java,并尝试构建
JOptionPane
showInputDialog
框架,该框架弹出给用户,并在文本字段中接受用户输入

是的,很简单。但我的问题是,默认情况下,
showInputDialog
文本区域非常小,为了可用性,我希望它更大

有人知道如何调整textarea的大小吗

例如: 这就是我得到的

但这正是我想要的


您可能会成功地使用您的答案,或者至少以某种方式使用它

JLabel label = new JLabel("MESSAGE");
label.setFont(new Font("Arial", Font.BOLD, 18));
JOptionPane.showMessageDialog(null,label,"ERROR",JOptionPane.WARNING_MESSAGE);
由于
JOptionPane
接受JLabel作为参数,您可以尝试调整该参数的大小,然后将其传递出去

编辑:

假设您使用的是Swing,这段代码应该可以工作。
(您可能需要进行一些实验才能达到所需的大小/布局)

结果应该与此类似。(当然,您也可以更改对话类型,尽管
showInputDialog
可能不起作用,因为它已经有了默认的输入行。)


基于AscendedKittens的答案,这显示了您如何实际获取输入的数据

    TextField tf = new TextField();
    JPanel panel = new JPanel(new BorderLayout(0, 0));
    tf.setFont(new Font("Arial", Font.BOLD, 24));
    JLabel label = new JLabel("Example Prompt Message!");
    label.setFont(new Font("Arial", Font.BOLD, 16));
    panel.add(label, BorderLayout.NORTH);
    panel.add(tf, BorderLayout.SOUTH);
    int result = JOptionPane.showConfirmDialog(null, panel);
    if(result==JOptionPane.OK_OPTION)
    {
        System.out.println(tf.getText());
    }

是的,它可以在showMessageDialog上工作,但不能在showInputDialog上工作,我怀疑它会有什么不同。@AscendedKitten链接断开了,对我来说很好。试试那个?这对我来说根本不管用:(如果对您有效?是否可以传递代码?注意:您似乎可以互换使用术语textfield和textarea,但它们是完全独立的组件。第一个用于单行文本,第二个用于多行文本。请更仔细地使用术语,此问题将删除与问题无关的所有引用。
    TextField tf = new TextField();
    JPanel panel = new JPanel(new BorderLayout(0, 0));
    tf.setFont(new Font("Arial", Font.BOLD, 24));
    JLabel label = new JLabel("Example Prompt Message!");
    label.setFont(new Font("Arial", Font.BOLD, 16));
    panel.add(label, BorderLayout.NORTH);
    panel.add(tf, BorderLayout.SOUTH);
    int result = JOptionPane.showConfirmDialog(null, panel);
    if(result==JOptionPane.OK_OPTION)
    {
        System.out.println(tf.getText());
    }