Tag:

分层许多JPanel并动态添加它们

我正在开发一款基于主题医院的SIM游戏,这是一款相当古老的游戏。 我已经在底层工作方面取得了很多进展,但是现在我要进入GUI元素,我以前没有做过很多。 我还是java的新手。 我试图创建的效果如下所示…… http://www.tubechop.com/watch/18438 单击按钮,打开一个带有选项卡的面板,以从不同的选择中进行选择,然后单击按钮以构建房间。 我相信“标签”我可以使用卡片布局? 对于房间的实际建设,我几乎排序。 我现在面临的主要问题是,只需点击一下按钮即可打开面板。 目前,我有1个JFrame和2个JPanels,主游戏面板和带有几个按钮的控制面板。 谁能告诉我一些如何做这样事情的简单例子? 我知道它可能非常简单,我敢打赌你们中的一些人甚至可以把代码写到头脑中,但我是java的新手,并且到目前为止已经更多地了解了编程的逻辑元素而不是如何构建游戏中需要的更复杂的多层GUI。 我知道这是一个雄心勃勃的项目,但我已经走了很长的路,甚至使用A *实现了自定义路径查找,我很高兴(感谢StackOverflow的人们!) 预先感谢您的帮助。

java applet:在两层2D场景中有一种简单的绘制和擦除方法吗?

我有一个applet,它使用圆和线显示一些数据。 随着数据不断变化,显示会更新,这意味着有时必须擦除圆圈和线条,所以我只是用白色(我的背景色)绘制它们以擦除它们。 (它们中有很多,所以擦除所有内容然后重新计算并重新绘制除擦除项目之外的所有内容将是一种非常慢的方法来擦除单个项目。) 情况的逻辑是需要显示两个层,我需要能够擦除一个层中的对象而不影响另一个层。 我认为上层需要具有“透明”的背景颜色,但是我将如何擦除对象,因为以透明颜色绘制无效。 这种情况与网络上所有与透明度相关的帮助的区别在于,我希望能够从透明层逐个擦除线条和圆圈,用“完全透明”的颜色覆盖它们的像素。 目前我的applet通过在start()中执行此操作来绘制(仅使用单个图层): screenBuffer = createImage(640, 480); screenBufferGraphics = screenBuffer.getGraphics(); 这在paint()中: g.drawImage(screenBuffer, 0, 0, this); 和对象通过以下命令呈现(或通过白色绘制“擦除”): screenBufferGraphics.drawLine(x1,y1,x2,y2); 是否容易以某种方式制作具有透明背景的第二个屏幕缓冲区,然后能够在该缓冲区中绘制和擦除对象并将其渲染到第一个缓冲区上?