我正在使用Swing使用Groovy / Java,并尝试构建弹出给用户的JOptionPane
showInputDialog
帧,并在文本字段中输入用户输入。
是的,这很简单。但我的问题是showInputDialog
文本区域默认非常小,而且为了实用性,我希望它更大。
有谁知道如何调整textarea的大小?
实施例: 这就是我得到的 small
但这就是我想要的 big
答案 0 :(得分:0)
Sergiy Medvynskyy对this问题的答案可能会取得成功,或者至少以某种方式使用它;
JLabel label = new JLabel("MESSAGE");
label.setFont(new Font("Arial", Font.BOLD, 18));
JOptionPane.showMessageDialog(null,label,"ERROR",JOptionPane.WARNING_MESSAGE);
由于JOptionPane
接受JLabel作为参数,您可以尝试调整一个,然后只是传递它来尝试一下。
修改强>
假设您正在使用Swing,此代码应该可以使用。
(您可能需要进行一些实验才能达到所需的大小/布局)
TextField tf = new TextField();
tf.setFont(new Font("Arial", Font.BOLD, 20));
JPanel jp = new JPanel(new BorderLayout(0, 0));
JLabel jl = new JLabel("Example Prompt Message!");
jl.setFont(new Font("Arial", Font.BOLD, 16));
jp.add(jl, BorderLayout.NORTH);
jp.add(tf, BorderLayout.SOUTH);
JOptionPane.showConfirmDialog(null, jp);
结果应该是类似的东西。 (当然,您也可以更改对话类型,但showInputDialog
可能不起作用,因为它已经有一个默认输入行。)
答案 1 :(得分:0)
建立在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());
}