При вызове JPanel для запуска с одной кнопки, нажатой из другого класса с JFrame, он отображает только JFrame другого класса, а не панель

Класс Game, вызывающий класс окна int, создает конструкцию содержимого печати на JFrame.

public class Game extends javax.swing.JPanel {

    public Game() {
        initComponents();
        addKeyListener(new KeyListener() {
            @Override
            public void keyTyped(KeyEvent e) {
            }

            @Override
            public void keyReleased(KeyEvent e) {
                player.keyReleased(e);
            }

            @Override
            public void keyPressed(KeyEvent e) {
                player.keyPressed(e);
            }
        });
        setFocusable(true);
        new Window(this);
    }

    public static void main(String args[]) {
        new Game();
    }

Класс Window ...

public class Window extends JFrame {

public Window(Game game) {
    JFrame frame = new JFrame("Final Gunner");
    frame.setPreferredSize(new Dimension(800, 600));
    frame.setMaximumSize(new Dimension(800, 600));
    frame.setMinimumSize(new Dimension(800, 600));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.setLocationRelativeTo(null);
    frame.add(game);
    frame.setVisible(true);
    while (true) {
        try {
            game.move();
            game.repaint();
            Thread.sleep(5);
        } catch (InterruptedException ex) {
            Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
} }

В другом классе с JFrame, называемым GameMenu, я называю класс Game «новой игрой ()»; когда нажимается кнопка, однако она отображает только пустой кадр, ничего, но если я вызываю класс игры «new Game ()»; в другом классе в основном методе он будет работать отлично, почему это так?

java,jframe,jpanel,calling-convention,game-loop,

0

Ответов: 0

При вызове JPanel для запуска с одной кнопки, нажатой из другого класса с JFrame, он отображает только JFrame другого класса, а не панель

Класс Game, вызывающий класс окна int, создает конструкцию содержимого печати на JFrame.

public class Game extends javax.swing.JPanel {

    public Game() {
        initComponents();
        addKeyListener(new KeyListener() {
            @Override
            public void keyTyped(KeyEvent e) {
            }

            @Override
            public void keyReleased(KeyEvent e) {
                player.keyReleased(e);
            }

            @Override
            public void keyPressed(KeyEvent e) {
                player.keyPressed(e);
            }
        });
        setFocusable(true);
        new Window(this);
    }

    public static void main(String args[]) {
        new Game();
    }

Класс Window ...

public class Window extends JFrame {

public Window(Game game) {
    JFrame frame = new JFrame("Final Gunner");
    frame.setPreferredSize(new Dimension(800, 600));
    frame.setMaximumSize(new Dimension(800, 600));
    frame.setMinimumSize(new Dimension(800, 600));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.setLocationRelativeTo(null);
    frame.add(game);
    frame.setVisible(true);
    while (true) {
        try {
            game.move();
            game.repaint();
            Thread.sleep(5);
        } catch (InterruptedException ex) {
            Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
} }

В другом классе с JFrame, называемым GameMenu, я называю класс Game «новой игрой ()»; когда нажимается кнопка, однако она отображает только пустой кадр, ничего, но если я вызываю класс игры «new Game ()»; в другом классе в основном методе он будет работать отлично, почему это так?

00Java, JFrame, JPanel, называя конвенционные, игровой цикл,
Похожие вопросы