正确的方法来创建一个JFrame

时间:2014-10-06 20:31:58

标签: java swing jframe

我正在阅读两种创建 JFrame 的方法,而且我没有明确表示更好或差异:

import java.awt.*;
import javax.swing.*;

public class MyFramePanel {

    public static void main(String[] args) {

        JFrame myFrame = new JFrame("MyFramePanel");
....

我在一些书中找到了这个:

import java.awt.*;
import javax.swing.*;

public class ButtonFrame **extends JFrame**{

    public ButtonFrame() {
        super("Button Frame");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ...
        setVisible(true);
    }

    public static void main(String[] args) {
        ButtonFrame bf = new ButtonFrame();
    }
}

我将使用第一个 - 在Stackoverflow中找到它 - 但我想知道为什么我正在阅读的关于Java的大部分书都使用了“扩展JFrame”。

非常感谢你,如果我的问题很愚蠢,我很抱歉打扰你。

1 个答案:

答案 0 :(得分:6)

第一个是一个不错的选择。想想Composition over Inheritance

  

支持组合优于继承是一种设计原则,它为设计提供了更高的灵活性,从长远来看,提供了业务领域类和更稳定的业务领域。

如果您未能在MyFramePanel内使用JFrame,而是使用Applet,则可以更轻松地切换并更好地维护术语