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() and getY()方法的JFrame或JPanel,以了解我的意思!)。
  • 如果使用的是IDE,请避免继承复杂的类:如果重写复杂的类,则在对这些类的对象调用方法时,将为你提供太多,太多的方法选择。
  • 封装是好的,并且可以创建更安全的代码。仅暴露那些需要暴露的东西,并尽可能控制该暴露。

以上是 Java扩展JFrame与在程序内部创建它 的全部内容, 来源链接: utcz.com/qa/417720.html

回到顶部