内容窗格在java中不起作用

内容窗格在java中不起作用,java,swing,Java,Swing,我明天早上就可以回复(我真的很累) 我如何做到这一点的来源: 这行代码给了我错误: win1.getContentPane().add(emptyLabel, BorderLayout.CENTER); 我遇到的问题是: emptyLabel 它抛出一个错误,并表示要更改为win1,win1不显示错误,而是抛出错误 全班: package examplepackage; //imports import java.awt.BorderLayout; import javax.swing

我明天早上就可以回复(我真的很累)

我如何做到这一点的来源:

这行代码给了我错误:

win1.getContentPane().add(emptyLabel, BorderLayout.CENTER);
我遇到的问题是:

emptyLabel
它抛出一个错误,并表示要更改为win1,win1不显示错误,而是抛出错误

全班:

package examplepackage;

//imports
import java.awt.BorderLayout;

import javax.swing.ImageIcon;
import javax.swing.JFrame;

import examplepackage.location.GetFilepath;

public class Starter {
public static void main(String[] args){
    GetFilepath FP = new GetFilepath();
    JFrame win1 = new JFrame("examplewindow");
    win1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    win1.getContentPane().add(emptyLabel, BorderLayout.CENTER);
    win1.pack();
    win1.setSize(600, 800);
    win1.setVisible(true);
    win1.setLocationRelativeTo(win1);
    win1.setIconImage(new ImageIcon(FP + "\\window\\Main").getImage());
}
}

emmptyLabel从未初始化过,因此,根据您的示例,删除对
GetFilePath
的引用,因为我没有访问该源代码的权限,当我编译您的代码时,我得到

error: cannot find symbol
        win1.getContentPane().add(emptyLabel, BorderLayout.CENTER);
                                  ^
  symbol:   variable emptyLabel
  location: class Starter
这基本上意味着未定义
emptyLabel
。您的IDE可能正在寻找一个可以传递给方法参数的匹配值,同样,基于您的代码,该值会离开
win1
,这显然是不起作用的(您不能将某些内容添加到自身或基于
窗口的组件添加到
容器

您需要定义和创建某个组件的实例,例如
JLabel

JLabel emptyLabel = new JLabel();
win1.getContentPane().add(emptyLabel, BorderLayout.CENTER);

我还建议您通读并确保在事件调度线程的上下文中初始化UI
这有效吗?我看不到在哪里声明或初始化了
emptyLabel
?Hi add JLabel emptyLabel=new JLabel();在win1.getContentPane().add(emptyLabel,BorderLayout.CENTER)的顶部;linea commenter比你强(如果这听起来很卑鄙的话,我很抱歉)@Karibasappa-G-C已经为我修复了它,尽管你的信息更有用,thanks@MMMGamesGameDevCo. 很高兴这有帮助