所以我从java制作一个简单的框,这是到目前为止的代码:
import java.awt.Canvas; import javax.swing.JFrame;
public class Display {
public static final int WIDTH = 800;
public static final int LENGTH = 600;
public static void main(String[] args) {
Display game = new Display();
JFrame frame = new JFrame();
frame.setResizable(false);
frame.setVisible(true);
frame.setSize(WIDTH, LENGTH);
frame.add(game);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
我在这里收到错误“frame.add(game);”它说“容器类型中的方法add(Component)不适用于参数(显示)”
我不知道我做错了什么,即时通讯使用javaSE-1.6
答案 0 :(得分:3)
您尝试将Display
的实例(不是Swing组件)添加到frame
,因此会出错。查看您的导入内容,您可能需要在JPanel
类(如果有的话)中添加Display
到frame
。
或者,如果您想直接添加,Display
类需要继承JComponent
之类的内容。你不应该不必要地混合使用AWT和Swing组件。
答案 1 :(得分:2)
您的显示需要扩展Component,因为add
方法需要作为参数。将它制作成JPanel可能是个好主意。
你提到你只想要一个基本窗口。这样就可以了:
import javax.swing.*;
public class Display extends JFrame {
public static void main(String[] args){
new Display();
}
public Display() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 200);
setVisible(true);
}
}