JFrame与JPanel,然后是JFrame

时间:2012-05-03 23:18:19

标签: java swing jframe jpanel

我有一个程序显示一个椭圆(Ellipse2D)。

我应该直接将椭圆添加到JFrame中还是应该将其添加到JPanel中,最终添加到JFrame中? (添加JPanel更多工作)

从长远来看哪一个对我有帮助? (我可能会考虑放置键绑定。)

让事情更清楚:

我应该这样做:

public class Test extends JFrame{ // This is a JFrame

Ellipse ellipse = new Ellipse(); // I have an ellipse class

Test(){

...
add(ellipse);
...

}

}

或者我应该这样做:

public class Test extends JFrame{

Test2 test2 = new Test2();

Test(){
...
add(test2)
...
}
}

public class Test2 extends JPanel{ // This is a JPanel

Ellipse ellipse = new Ellipse(); // I have an ellipse class

Test2(){

...
add(ellipse);
...

}

}

2 个答案:

答案 0 :(得分:1)

Eclipse是否是JPanel(或扩展了一些Java Swing容器组件)。 如果没有,那么使用JPanel解决方案,它将被视为一个组件。如果是,那么首先将布局管理器(也许是BorderLayout)添加到JFrame,然后将面板添加到它可能在CENTER中(自己做出选择)。

我的桌面应用程序开发方法是:

将布局管理器添加到JFrame,然后根据布局将JPanels添加到JFrame。这使GUI更易于管理,并且将来更容易更新/更改。

答案 1 :(得分:1)

您可以随时在BufferedImage中绘制椭圆,将图像添加到ImageIcon并将图标添加到JLabel