我在做坦克游戏。为了避免使菜单面板中的按钮多余,我编写了一个类按钮:

package menu;

import java.awt.Image;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;

public class Button extends JButton{

    public JButton button;
    public ImageIcon buttonImage;

    public int x, width, height;

    public String backgroundPath;
    public int y;



    public Button(String backgroundPath,int x, int y, MenuPanel menuPanel)

    {
        super();
        this.backgroundPath = backgroundPath;
        this.x = x;
        this.y = y;

        buttonImage = new
            ImageIcon(PlayPanel.class.getResource(backgroundPath));
        this.setIcon(buttonImage);
        this.setBounds(x, y, buttonImage.getIconWidth(),
            buttonImage.getIconHeight());
        this.addActionListener(menuPanel);
    }
}


在方法的构造函数中,我有MenuPanel menupanel,但是我希望能够使用此代码的是多个面板,例如QuitPanel,HighScorePanel等。

我不知道我必须为此使用哪个参数,所以我被卡住了。

提前致谢!!

最佳答案

MenuPanel menuPanel参数更改为ActionListener侦听器,因为这样做的唯一原因是使其更容易附加ActionListener,因此按钮无需了解MenuPanel

07-21 19:17