swing内容窗格在java中不起作用
我明天早上就可以回复(我真的很累)
我如何做到这一点的来源: http://docs.oracle.com/javase/tutorial/uiswing/components/frame.html
这行代码给了我错误:
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());
}
}
# 1 楼答案
因此,基于您的示例,删除对
GetFilePath
的引用,因为我没有访问该源代码的权限,当我编译您的代码时,我得到这基本上意味着
emptyLabel
没有定义。您的IDE可能正在寻找一个可以传递给方法参数的匹配值,同样,根据您的代码,它会留下win1
,这显然是不起作用的(您不能向自身添加某些内容,也不能向Container
添加基于Window
的组件)您需要定义和创建某个组件的实例,例如
JLabel
,例如我还建议您通读Initial Thread,并确保在事件调度线程的上下文中初始化UI
# 2 楼答案
emmptyLabel从未初始化