私は何か単純な間違いをしていると思います。そして私の研究はどこにも行きませんでした。
アプレットとして実行するように変換しようとしているスタンドアロンの Java アプリケーションを作成しました。(アプレットであることが要件です)。
JPanel クラス MazePanel を作成し、アプレットとして表示しようとしています。Netbeans でアプレットを実行すると、2 つのウィンドウがロードされます。1 つは空白のアプレット ウィンドウで、もう 1 つは私の Maze です。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);
}
}