在单个Java语句中创建其对象时设置JTextField

时间:2012-07-19 12:13:01

标签: java swing

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

  

JPanel jpObj = new 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(文本框);

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

  

jpObj.add(new JTextField(“300000”)。setMaximumSize(new Dimension(1000,50)));

提前致谢!

1 个答案:

答案 0 :(得分:3)

不,因为setMaximumSize返回无效。

你应该如你所描述的那样去做。

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)));