Java 如何导入JFrame?
导入javax.swing.JFrame行识别为类,因此不会导入。由于JFrame不会导入,因此无法识别这两种set方法。我有最新的JDK,并使用shift+ctrl+T命令检查JFrame类是否存在。发生了什么事?这是因为JPanel没有这些方法。setName甚至不存在。存在,但我不认为这是你的本意Java 如何导入JFrame?,java,swing,jframe,Java,Swing,Jframe,导入javax.swing.JFrame行识别为类,因此不会导入。由于JFrame不会导入,因此无法识别这两种set方法。我有最新的JDK,并使用shift+ctrl+T命令检查JFrame类是否存在。发生了什么事?这是因为JPanel没有这些方法。setName甚至不存在。存在,但我不认为这是你的本意 package main; import javax.swing.JFrame; public class Main extends JPanel{ public Main() {
package main;
import javax.swing.JFrame;
public class Main extends JPanel{
public Main() {
add(new Panel());
setName("NGame");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
这是因为JPanel没有这些方法。setName甚至不存在。存在,但我不认为这是你的本意
package main;
import javax.swing.JFrame;
public class Main extends JPanel{
public Main() {
add(new Panel());
setName("NGame");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
您需要使
Main
extendJFrame
,而不是JPanel
。试着这样做:
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
public Main() {
//instead of setName()
setTitle("NGame");
add(new Panel());
setDefaultCloseOperation(EXIT_ON_CLOSE);
//setVisible(true);
//pack();
//etc etc
}
}
您需要使
Main
extendJFrame
,而不是JPanel
。试着这样做:
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
public Main() {
//instead of setName()
setTitle("NGame");
add(new Panel());
setDefaultCloseOperation(EXIT_ON_CLOSE);
//setVisible(true);
//pack();
//etc etc
}
}
有几件事
JPanel
扩展,但没有导入它JFrame
,但没有实际使用它setDefaultCloseOperation
对于JPanel
EXIT\u ON\u CLOSE
是一个未知变量,因为它未在JPanel
或其任何父类中声明Panel
是重分量,而JPanel
是轻分量,这些分量往往混合不好)JFrame
扩展
package main;
import javax.swing.*;
public class Main extends JFrame {
public Main() {
add(new JPanel());
//...other code
}
}
话虽如此,现在。通常不需要从JFrame
扩展,因为您很少向它添加任何新功能
相反,您应该创建JFrame
的一个实例,并将您的组件添加到其中,例如
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
public Main() {
add(new JPanel());
setName("NGame");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
有几件事
JPanel
扩展,但没有导入它JFrame
,但没有实际使用它setDefaultCloseOperation
对于JPanel
EXIT\u ON\u CLOSE
是一个未知变量,因为它未在JPanel
或其任何父类中声明Panel
是重分量,而JPanel
是轻分量,这些分量往往混合不好)JFrame
扩展
package main;
import javax.swing.*;
public class Main extends JFrame {
public Main() {
add(new JPanel());
//...other code
}
}
话虽如此,现在。通常不需要从JFrame
扩展,因为您很少向它添加任何新功能
相反,您应该创建JFrame
的一个实例,并将您的组件添加到其中,例如
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame {
public Main() {
add(new JPanel());
setName("NGame");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
右键单击src,然后构建路径、库,删除JRE系统库,添加库,然后再次添加。这至少对我有帮助=)右键单击src,然后构建路径、库,删除JRE系统库,添加库,然后再次添加。这至少对我有帮助=)为什么不尝试使用常规编辑器。@yannis“常规编辑器”是什么意思?
Notepad++
,SublimateText
,甚至nano或vi.和JDK工具javac
和java
。当你开始使用一种语言时,最好避免使用像eclipse这样的IDE,因为我现在在语言和cs方面的经验要丰富得多,所以我不同意你的观点。我认为像Eclipse这样的IDE对于学习语言语法/库是有效的@giannischristofakisNevertheless,这只是我的意见。在您的编程生涯中,有时您需要在没有任何IDE或UI的开发服务器上开发。此外,我还遇到了许多初露头角的开发人员,他们不知道如何在没有IDE的情况下构建/部署甚至编译源文件。为什么不尝试使用常规编辑器。@yannis“常规编辑器”是什么意思?Notepad++
,SublimiteText
,甚至nano或vi。以及JDK工具javac
和java
。当你开始使用一种语言时,最好避免使用像eclipse这样的IDE,因为我现在在语言和cs方面的经验要丰富得多,所以我不同意你的观点。我认为像Eclipse这样的IDE对于学习语言语法/库是有效的@giannischristofakisNevertheless,这只是我的意见。在您的编程生涯中,有时您需要在没有任何IDE或UI的开发服务器上开发。此外,我还遇到了许多初露头角的开发人员,他们不知道如何在没有IDE的情况下构建/部署甚至编译源文件。“setName甚至不存在”-啊,是的,它存在…@MadProgrammer我知道,我认为他不打算以这种方式使用它。别忘了他是个初学者。“setName根本不存在”-啊,是的…@我知道,我认为他不是有意这样使用它的。别忘了他是个初学者。好的,我认为没有人能和他竞争。你能告诉我使用setName
的原因吗?@yannishristofakis我认为setName
的“主要”原因是GUI表单设计者。如果您想要标识同一类型对象的多个实例,但没有对初始变量的引用,那么它也可能很有用。是的,有很多人和我竞争,让我专注于做最好的自己,保持高水平。如果我滑倒,他们通常会踢我的后背。。。我很感激他们这么做;)+1好吧,我认为没有人能与之竞争。你能告诉我使用setName
的原因吗?@yannishristofakis我认为setName
的“主要”原因是GUI表单设计者。如果您想要标识同一类型对象的多个实例,但没有对初始变量的引用,那么它也可能很有用。是的,有很多人和我竞争,让我专注于做最好的自己,保持高水平。如果我滑倒,他们通常会踢我的后背。。。我很感激你