[英]Java Swing - Creating a window with buttons and a dynamic game board
我是Java Swing的新手,正在研究一个简单的应用程序,它在窗口中显示棋盘游戏和可移动的棋子。
现在,我有一个足够好的界面:应用程序构建在一个从JFrame
派生的特殊Window
类中,使用drawImage
重写paint
方法以显示棋盘和棋子(迭代通过棋子收集位置信息)
但是,当我尝试在整个游戏窗口中添加一些按钮和文本显示区域时,出现了问题。 在明确点击它们之前,它们都没有被显示。 通过一些研究,我发现在这样的情况下,覆盖油漆会使事情变得混乱; 显然,你可以搞乱paint
或使用按钮等,但不是真的/容易两者。
作为一种替代方法,我遇到了一个教程,展示了如何将图像绘制到JPanel上,我想我可以在板/片上使用,然后在铺设时将其视为任何其他按钮或小部件(?)之前我走下任何一条死胡同的街道(看起来像是一个愚蠢的问题,但请相信我......),我想问一下:这是一个好方法吗? 或者,还有更好的方法?
听起来你并没有在paint
方法中调用super.paint(g)
。 实际上,您不应该在顶级容器(如JFrame
中使用自定义绘制功能。
理想情况下,您应该使用该替代方法并将其移动到基于JComponent
的新类。 在这里,您需要覆盖paintComponent
并调用super.paintComponent(g)
。 如果您需要将子组件添加到新组件,那么JPanel
肯定是一个很好的容器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.