我刚刚完成了一个游戏小程序。现在我想创建一个具有背景图像和开始游戏按钮的开始屏幕。当用户单击开始按钮时,我想清除开始游戏屏幕,并且我希望将游戏背景和所有其他游戏组件绘制到屏幕上。此外,我希望开始游戏按钮是可点击的图像。我的问题是如何在paint() 方法中绘制一个屏幕而不是两者。
我该怎么做?提前致谢。
我懂了...
JPanel
作为初始屏幕的主要容器JLabel
保存背景图片JButton
供用户点击。我还看到了一个CardLayout
帮助您更轻松地在您的屏幕SplashScreen
和您的Game
屏幕之间切换的方法。
查看如何使用 CardLayout了解更多详细信息。
根据您的描述,听起来您已经开始覆盖paint
该类JApplet
。欢迎来到“为什么不应该覆盖顶级容器”的精彩世界paint
您需要将所有自定义绘画和控制逻辑移动到不同的组件(就像 aJPanel
会做的那样)并改用它的paintComponent
方法。这样,您可以控制面板的位置(可以制作成独立的应用程序)并提供对可交换屏幕/面板的支持
查看执行自定义绘画以获取更多详细信息