编写JFrame设置的简短方法

时间:2013-07-19 09:02:17

标签: java swing optimization syntax

我正在创建一个GUI并拥有以下代码:

frame.add(container);
frame.pack();
frame.setLocation(200, 200);
frame.setVisible(true);

有没有更短的方式来写这个?因为我总是试图学习新事物,所以我大部分都是出于好奇。

我想我遇到过这样的事情,但是我无法在我的应用程序中使用它。

frame.add(container).setLocation(200,200).pack().setVisible();

2 个答案:

答案 0 :(得分:3)

您可以为此覆盖JFrame。但是我没有从你想做的事情中获益。

public MyFrame extends JFrame{


  public JFrame add(Container container){
    super.add(container);
    return this;
  }

  public JFrame setLocation(int x, int y){
    super.setLocation(x,y);
    return this;
  }
  //and so on
}

然后像这样使用它。

MyFrame frame = new MyFrame();
frame.add(somecontainer).setLocation(200,200).....

答案 1 :(得分:2)

你不能。你的第一次调用frame.add()不返回任何内容(void)。因此链式方法调用不可能。可以使用createAndShowFrame(JComponent component)等方法创建工厂类。