【发布时间】:2011-01-05 15:13:31
【问题描述】:
我正在创建一个游戏,其中有一个包含多个视图的菜单,用于使用游戏状态转换来选择游戏类型、选项等。每个菜单都将在 Canvas 对象上的 JFrame 内主动呈现。由于我通过将 BufferedImage 绘制到 Canvas 来对每个游戏状态进行主动渲染,因此我不能使用 JButton 或任何其他 JComponent 或 Component (awt) 因为 Graphics2D 对象无法像这样绘制它们:
Graphics2D g = bufferStrategy.getDrawGraphics();
g.draw(new JButton("Click me"));
如何实现可以接收鼠标输入并使用 Graphics2D 对象绘制的自定义按钮?
【问题讨论】:
-
您是通过绘制整个菜单的图片来实现菜单的吗?对我来说听起来不明智。
-
JButton 提供了一个paintAll(Graphics g) 方法。所以你可以设置按钮的位置和大小,然后调用 mybutton.paintAll(g)。该方法存在于所有组件上
-
你觉得什么是明智的?我也想让菜单屏幕动画化。因此,我需要在每一帧都渲染整个菜单。
标签: java swing button graphics2d