Java CardLayout Показать проблему - PullRequest
0 голосов
/ 13 августа 2011

Хорошо, снова мне нужна помощь.По какой-то причине, когда я нажимаю кнопку, кнопка исчезает, но не панель

Вот код:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class MainMenu extends JPanel implements ActionListener{

ImageDirectory ID = new ImageDirectory();
PlayMenu PM = new PlayMenu();
JButton Play;
CardLayout CL;
Image BG;

    public MainMenu(){

    CL = new CardLayout(180,220);
    setLayout(CL);
    Play = new JButton("play");
    Play.addActionListener(this);
    ImageIcon BGSource = new ImageIcon(ID.Background);
    BG = BGSource.getImage();
    add(Play, "Play");
    add(PM, "PMenu");
    }

    public void actionPerformed(ActionEvent e){

        if(e.getSource() == Play){

            CL.show(this, "PMenu");
            }
        }

        public void paintComponent(Graphics g){

            g.drawImage(BG,0,0,500,500,this);
            }
 }

Вот класс, который я пытался показать при нажатии кнопки:

import javax.swing.*;
import java.awt.*;

public class PlayMenu extends JPanel{

public PlayMenu() {}


}

1 Ответ

0 голосов
/ 13 августа 2011

Это, вероятно, работает как следует. Ваш новый PlayMenu заменяет оригинальный MainMenu. Попробуйте добавить setBackground (Color.RED) в конструктор PlayMenu, чтобы увидеть, заменяет ли оно предыдущее MainMenu.

...