有没有办法创建一个JButton
使用您自己的按钮图形而不仅仅是按钮内的图像?
如果没有,是否有其他方法来创建自定义JButton
在java中?
当我第一次学习 Java 时,我们必须制作 Yahtzee,我认为创建自定义 Swing 组件和容器而不是仅仅在一个组件和容器上绘制所有内容会很酷JPanel
。延长的好处Swing
当然,组件的目的是能够添加对键盘快捷键和其他辅助功能的支持,而这是仅通过一个组件无法做到的。paint()
方法打印一张漂亮的图片。然而,这可能不是最好的方式,但对您来说可能是一个很好的起点。
编辑 8/6 - 如果从图像中看不出来,每个骰子都是一个可以单击的按钮。这会将其移动到DiceContainer
以下。查看源代码,您可以看到每个 Die 按钮都是根据其值动态绘制的。
以下是基本步骤:
- 创建一个扩展类
JComponent
- 调用父构造函数
super()
在你的构造函数中
- 确保你的类实现了
MouseListener
-
将其放入构造函数中:
enableInputMethods(true);
addMouseListener(this);
-
重写这些方法:
public Dimension getPreferredSize()
public Dimension getMinimumSize()
public Dimension getMaximumSize()
-
重写这个方法:
public void paintComponent(Graphics g)
绘制按钮时必须使用的空间量由以下定义:getPreferredSize()
, 假设getMinimumSize()
and getMaximumSize()
返回相同的值。我没有对此进行太多实验,但是根据您用于 GUI 的布局,您的按钮可能看起来完全不同。
最后,源代码。万一我错过了什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)