【问题标题】:Why does importing JFrame require inheritance but FlowLayout, JLabel, etc not?为什么导入 JFrame 需要继承,而 FlowLayout、JLabel 等不需要?
【发布时间】:2015-07-08 19:45:01
【问题描述】:

我刚开始学习 GUI,正在观看他写这篇文章的“thenewboston”的教程。但我不明白为什么 JFrame 是唯一继承的导入?我不确定这是否只是其中一种情况,否则 java 会给它一个错误。

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class tuna extends JFrame {

    private JLabel item1;

    public tuna(){
        super("The title bar");
        setLayout(new FlowLayout());            
        item1 = new JLabel("This is a sentence.");
        item1.setToolTipText("This is gonna show up on hover");
        add(item1);
    }
}

【问题讨论】:

  • 我认为在开始学习 GUI 之前,您需要学习更多基本的 Java。这个问题是关于类的基本用法。

标签: java swing jframe layout-manager flowlayout


【解决方案1】:

JFrame 不需要继承。事实上,你不应该使用继承。

查看 How to Make Frames 上的 Swing 教程中的 FrameDemo.java 代码以获得更好的设计。

此外,Java 类名应以大写字符开头。我会坚持使用 Swing 教程,而不是您正在查看的当前教程。

【讨论】:

    猜你喜欢
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    相关资源
    最近更新 更多