Java扩展JFrame与在程序内部创建它
使用Swing制作应用程序时,我已经看到人们做两件事之一来创建JFrame。哪种方法更好,为什么呢?
我是Java和编程的初学者。我唯一的学习资源是书籍,YouTube和Stack Overflow。
import {imports};public class GuiApp1 {
public static void main(String[] args) {
new GuiApp1();
}
public GuiApp1() {
JFrame guiFrame = new JFrame();
guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
guiFrame.setTitle("Example GUI");
guiFrame.setSize(300,250);
................
}
和
import {imports};public class GuiApp1 extends JFrame {
public Execute() {
getContentPane().setBackground(Color.WHITE);
getContentPane().setLayout(null);
setSize(800, 600);
.............
}
public static void main(String[] args) {
Execute frame1 = new Execute();
frame1.setVisible(true);
}
}
回答:
- 避免扩展JFrame,因为它将JGUI与你的GUI联系在一起。相反,如果你专注于创建JPanels,那么你可以自由地在需要的任何地方使用这些JPanels-在JFrame,JDialog,JApplet或另一个JPanel内部,或通过CardLayout与其他JPanels交换。
- 通常避免继承,尤其是复杂类的继承。这将防止有害的错误,例如无意中的方法重写(尝试创建具有
getX()
andgetY()
方法的JFrame或JPanel,以了解我的意思!)。 - 如果使用的是IDE,请避免继承复杂的类:如果重写复杂的类,则在对这些类的对象调用方法时,将为你提供太多,太多的方法选择。
- 封装是好的,并且可以创建更安全的代码。仅暴露那些需要暴露的东西,并尽可能控制该暴露。
以上是 Java扩展JFrame与在程序内部创建它 的全部内容, 来源链接: utcz.com/qa/417720.html