使用继承的 Java 作业



我正在做家庭作业,要求我研究声明setVisible方法的JFrame类继承哪个类的java api。然后,导入该类并修改 main 方法中的代码,以便将帧变量声明为该类型而不是 JFrame 类型。

我已经找到了声明 setVisible 方法的类 JWindow,但是每当我尝试更改代码时,它都不会运行,因此任何帮助将不胜感激。

import javax.swing.JFrame;
import javax.swing.JWindow;

//JFrame is inherited from java.awt.Frame class
//setVisible is declared by the java.awt.Window class
public class ProductFrame extends JWindow
{
    public ProductFrame()
    {
        // all of these methods are available because
        // they are inherited from the JFrame class
        // and its superclasses
        this.setTitle("Product");
        this.setSize(200, 200);
        this.setLocation(10, 10);
        this.setResizable(false);
        // this method uses a field that's available
        // because it's inherited
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
    public static void main(String[] args)
    {
        // this creates an instance of the ProductFrame
        JWindow frame = new ProductFrame();
        // this displays the frame
        frame.setVisible(true);
    }
}

你找到了一些具有"setVisible()"方法的类。但是,您的任务是找到 JFrame 继承的类。

JFrame不会继承自JWindow。

换句话说:如果你的任务是找到你的祖先并就他们的工作与他们进行面试,那么面试你的姐姐或表弟将无法完成工作。

由于您的类ProductFrame直接扩展JFrame,因此您不能说

JWindow frame = new ProductFrame();

JWindow引用设置为等于ProductFrame是无效的ProductFrame因为它不会扩展JWindow。 您需要更改类声明,以便它这样做。

相关内容

  • 没有找到相关文章

最新更新