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