有没有一种方法可以通过java.swing实现浮动损害数字?

有没有一种方法可以通过java.swing实现浮动损害数字?,java,swing,graphics,jbutton,Java,Swing,Graphics,Jbutton,我正在使用JavaSwing创建一个游戏,我发现需要图形化显示此时正在发生的事情。当前显示使用JButton网格来表示战场上的分幅。是否可以使用定制的像素艺术GIF在JButtons上显示浮动/消失的损坏数字?如果是这样,我将如何实现它?几乎所有Swing组件都可以扩展以更改其表示形式 创建自己的按钮类,扩展JButton,并覆盖其paintComponent方法以显示所需的损坏。此方法接收一个图形(实际上是图形2d的一个实例),如果一个图形处于活动状态,您可以在其上绘制损坏 非常简单的例子:

我正在使用JavaSwing创建一个游戏,我发现需要图形化显示此时正在发生的事情。当前显示使用JButton网格来表示战场上的分幅。是否可以使用定制的像素艺术GIF在JButtons上显示浮动/消失的损坏数字?如果是这样,我将如何实现它?

几乎所有Swing组件都可以扩展以更改其表示形式

创建自己的按钮类,扩展
JButton
,并覆盖其
paintComponent
方法以显示所需的损坏。此方法接收一个
图形
(实际上是
图形2d
的一个实例),如果一个图形处于活动状态,您可以在其上绘制损坏

非常简单的例子:

public类损坏按钮扩展JButton{
私有字符串损坏=null;
公共损坏按钮(字符串文本){
超级(文本);
}
公共空间损坏(字符串损坏){
这个。损坏=损坏;
系统输出打印LN(损坏);
重新油漆();
}
@凌驾
受保护组件(图形g){
超级组件(g);
如果(损坏!=null){
Graphics2D gg=(Graphics2D)g.create();
试一试{
gg.setColor(Color.RED);
gg.抽绳(损坏,10,10);
}最后{
gg.dispose();
}
}
}
}
创建一个新的
图形
gg
),这样
g
的设置就不会更改,也不需要恢复

使用一些文本调用
setDamage()
,使其显示在按钮上,或使用
null
取消效果

可以(或多或少)轻松添加动画或其他效果。请注意,给定的
Graphics2D
具有设置为按钮尺寸的剪裁区域