它从java.awt
和public void run()
开始,它们都用红色加下划线,当我用鼠标点击它们时,我收到一条消息,说明要将初始化程序移动到构造函数。任何人都可以帮我这个吗?
public static void main (String[] args) {
// TODO code application logic here
EmployeeRecord main = new EmployeeRecord() {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EmployeeRecord().setVisible(true);
}
)}
}
}
答案 0 :(得分:1)
取出包装纸。以下是您所需要的一切。
public static void main (String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EmployeeRecord().setVisible(true);
}
}); // <======= Notice the change here too.
}
您只需要静态调用invokeLater
类的方法EventQueue
。做你正在做的事情是一个完全不同的(非法)结构,这是不可能的。您基本上是在创建一个匿名类实例,并在其中调用相同的构造函数。即使它是正确的构造,如
public static void main (String[] args) {
// TODO code application logic here
EmployeeRecord main = new EmployeeRecord() {
{
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EmployeeRecord().setVisible(true);
}
});
}
};
}
您正在创建一个不必要的实例。