Только один JPanel появляется одновременно - PullRequest
0 голосов
/ 06 ноября 2019

Я не уверен, что проблема с этим. Если я удаляю плеер, появляется фон, а если я оставляю плеер, фон не появляется. Я не думаю, что это проблема с порядком рисования. (Классы Background и Player являются расширениями класса JPanel)

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;

public class windowedGame 
{
    public static void main(String args[])
    {
        Background back = new Background();
        Player player = new Player();
        JFrame world = new JFrame("Windowed_Game");

        world.add(back);
        world.add(player);
        world.addKeyListener(new KeyListener()
        {
            @Override
            public void keyTyped(KeyEvent e)
            {

            }
            @Override
            public void keyPressed(KeyEvent e)
            {
                int key = e.getKeyCode();
                if(key == KeyEvent.VK_LEFT)
                {
                    if(player.getX() != 500 || player.getX() != 0)
                        player.moveLeft();
                    player.repaint();
                }
                else if(key == KeyEvent.VK_RIGHT)
                {
                    if(player.getX() != 500 || player.getX() != 0)
                        player.moveRight();
                    player.repaint();
                }
            }
            @Override
            public void keyReleased(KeyEvent e) 
            {

            }
        });
        world.setVisible(true);
        world.setSize(600,600);
        world.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
...