我在做坦克游戏。为了避免使菜单面板中的按钮多余,我编写了一个类按钮:
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