0

我正在创建一个 JPanel 并设置如下布局:

JPanel jpObj= 新 JPanel();
jpObj.setLayout(new BoxLayout(jpObj, BoxLayout.Y_AXIS));

然后将 JTextField 添加到我的 JPanel 中,如下所示:

jpObj.add(new JTextField("300000"));

我想指定 JTextField 的高度,而不必编写单独的代码行。例如,

JTextField textField = new JTextField("600000");
textField.setMaximumSize(new Dimension(1000,50) );
jpObj.add(textField);

有没有办法在创建对象时指定我的 JTextField 的高度?以下尝试似乎对我不起作用。

jpObj.add(new JTextField("300000").setMaximumSize(new Dimension(1000,50)));

提前致谢!

4

1 回答 1

3

否,因为setMaximumSize返回 void。

你应该按照你已经描述的那样去做。

JTextField textField = new JTextField("600000");
textField.setMaximumSize(new Dimension(1000,50) );
jpObj.add(textField);

可能我猜您可以创建自己的方法,该方法可以创建、设置高度并返回一个 JTextField 对象,如下所示,然后这可以在一行中完成。

private JTextField createJTextField(String text, Dimension dimenstion) {
    JTextField textField = new JTextField(text);
    textField.setMaximumSize(dimenstion);
    return textField;
}

然后你可以这样称呼它:

jpObj.add(createJTextField("item1",new Dimension(200,300)));
jpObj.add(createJTextField("item2",new Dimension(500,100)));
于 2012-07-19T12:16:46.480 回答