在下面的代码中我创建了 3 个变量:
public class tuna extends JFrame {
//Creating 3 text fields
private JTextField item1;
private JTextField item2;
private JTextField item3;
我不明白的是为什么我需要执行以下操作:
item1=new JTextField(10);
add(item1);
为什么需要再次将item1声明为jtextfield? 仅仅是为了创建它的大小和文本等吗?
最佳答案
您不会再次声明它。您使用第二段代码初始化它——差别很大。
这与任何其他引用变量没有什么不同。即,
public class MyFoo {
private String fooString; // (A)
public MyFoo() {
fooString = "hello world"; // (B)
}
您还可以在同一行声明它并初始化它。
public class MyFoo {
private String fooString = "hello world";
private JTextField textField = new JTextField(10);
public MyFoo() {
// now can use both variables
}
因此,代码中的第一条语句(上面的 String 示例中的语句 (A))创建了 JTextField 类型的变量,但是在创建时,它们会自动填充默认值,对于引用变量(除整数等基元之外的所有变量) 、 double 、 float ……)为 null
。因此,您有引用 null 或无任何内容的变量,在使用它们之前,您必须为它们分配一个有效的引用或对象,这就是您的第二段代码的作用(我的 String 中的语句 (B))上面的例子)。
您将想要运行,而不是走到最近的 Java 教程或教科书简介并阅读变量声明和初始化,因为在尝试创建之前您确实需要了解这个非常核心的基本概念Swing GUI 或任何与此相关的 Java 程序。就是这么重要。
关于java - 图形用户界面-JFrame : declaring variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21391750/