【问题标题】:Declaring Instance of Class without Instantiation & Initialization - Clarification在没有实例化和初始化的情况下声明类的实例 - 澄清
【发布时间】:2015-06-21 17:45:37
【问题描述】:

我正在学习使用 Java Swing 的课程,但遇到了障碍。在这个项目中,我们正在为不同的组件设置大小,但是,导师专门打了一行我不是特别理解的代码,我只是在寻找对这行代码的概念的解释。

基本上,我知道如何创建一个类的对象。假设我们想要一个新的扫描仪类。为 Scanner 类创建一个对象很简单,如下所示:

public class ScannerProgram {

import java.util.Scanner; //Imports Scanner Class

public static void main(String[] args) {

Scanner input = new Scanner(System.in);
// ^ Creates object of the Scanner Type, and calls the "Scanner" constructor.
}

}

在我正在观看的一堂课中,讲师正在使用用户创建的扩展 JPanel 的类创建一个自定义组件,我们希望获得首选尺寸。教练是这样做的:

import java.awt.Dimension; //Imports Dimension class
import javax.swing.JPanel; //Imports JPanel class


public class FormPanel extends JPanel {

    public FormPanel() {

        Dimension dim = getPreferredSize(); //Question 1
        System.out.println(dim); //Prints results
        //The result is java.awt.Dimension[width=10,height=10]


    }
}

问题1:我想知道这行代码到底在做什么。我知道您正在声明一个“维度”类型的变量,但之后它变得令人困惑,因为您没有调用构造函数。在这种情况下,变量被设置为等于“getPreferredSize()”,我不太确定它在做什么。它是从 Dimension 类中调用特定方法吗?这是我的猜测,但实际上我完全不确定。感谢任何愿意阐明这一点的人。

此外,如果需要,请随时更改标题。

【问题讨论】:

    标签: java swing class object jpanel


    【解决方案1】:

    getPreferredSize()JPanel(或JPanel 的超类)的一个方法,它返回一个Dimension 实例。 getPreferredSize() 在由 FormPanel 构造函数构造的实例上调用。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2023-04-07
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    相关资源
    最近更新 更多