我相信我做错了一些简单的事情;我的研究让我无处可去。
我创建了一个独立的 Java 应用程序,我试图将其转换为作为小程序运行。(作为一个小程序是一个要求)。
我创建了一个 JPanel 类 MazePanel,并试图将其显示为一个小程序。当我在 Netbeans 中运行我的 Applet 时,会加载 2 个窗口。一个是空白的 Applet 窗口,另一个是我的 Maze。我希望迷宫(在 MazePanel 中实现)显示在我的小程序中。任何人都可以看看这个,并告诉我我做错了什么。
public class MazeApplet extends JApplet {
protected JFrame frame;
protected JPanel jPanel;
protected MazeBuilder builder;
protected MazeFactory factory;
public MazeApplet() {
//Set up frame
frame = new JFrame("Maze -- Builder");
frame.setLayout(new BorderLayout());
frame.setVisible(true);
frame.setResizable((true));
}
public void init() {
factory = new ShoutMazeFactory();
builder = new FactoryMazeBuilder(factory);
Maze maze = MazeGameBuilder.createMaze(builder);
maze.setCurrentRoom(1);
jPanel = (new Maze.MazePanel(maze));
//Add jPanel to Frame
frame.getContentPane().add(jPanel);
frame.pack();
}
}
下面是我要显示的 JPanel 类
public class MazePanel extends JPanel{
protected Maze maze = new Maze();
public void paint(Graphics g) {
Dimension dim = getSize();
g.setColor(Color.white);
g.fillRect(0, 0, dim.width, dim.height);
g.setColor(Color.black);
maze.draw(g);
}
}