在jButton中添加背景(netbeans gui builder)

问题描述:

当我尝试通过转到它的属性然后图标在java中添加背景,然后它设置按钮的背景,但我已经写在按钮上的文本,它会向右移动(在按钮区域之外)。这有什么解决方法?在jButton中添加背景(netbeans gui builder)

+0

必须有另外一个问题,或者使用GUI框架,atributes为更好地帮助soonep请编辑您的问题[SSCCE(http://sscce.org/) – mKorbel 2012-03-06 11:02:39

据我所知,你不设置背景,但你设置图标按钮。这就是为什么你在右侧看到图像而在左侧看到文字。要将图像作为背景添加到按钮,您需要覆盖JButonpaintComponent(g)方法并在其中绘制图像。

+0

有没有简单的方法来做到这一点。我的意思是通过属性? – Xara 2012-03-06 11:18:43

+0

@Zara我对NetBeans不太了解。但是可能会在jbutton paintComponent方法中写一些自定义代码。如果你找不到它,那么创建你自己的类来扩展JButton并在那里重写paintComponent。 – 2012-03-06 11:28:21

+0

+1,我喜欢这种方法,因为我现在在Swing中学习绘画:-) – 2012-03-06 12:05:34

如果您想将图像添加到您的JButtonNetBeans请按照下列步骤操作:

  1. 右键点击Source PackagesProjects下,并选择​​。
  2. 单击下一步,并为该文件夹提供一个名称。对于示例resources,请检查Parent Folder,src是否写入该字段。现在点击完成。
  3. 现在手动到您的计算机上的此位置并创建一个新文件夹,说图像,然后将IMAGE粘贴到此文件夹中。
  4. 现在根据Design Mode,选择您的JButton,在右侧转到此JButton的属性。正是在前台,你会看到icon写入,点击与之相关的打开窗口Eclipse的按钮,如图所示:FIGURE 1
  5. 做检查,这个数字1,填写您的值,然后按OK

你完成添加图像到你的JButton。 如果你想使用我使用的图像,这里是Window Image。 是的,我忘记提到了,为此,我在Properties属性的Other Properties下设置了horizo​​ntalTextPosition = CENTER和veritcalTextPosition = BOTTOM。

,这里是整个事情的输出:

CELSIUS CONVERTER IMAGE

,这是什么解决办法吗?

一个'解决方案'它写在图像上的文字。这不是一个很好的解决方案,因为:

  • 需要将文本写在每个用于该按钮的图标上(例如正常,翻转,选定等)。
  • 然后它将成为您的责任,选择适当的字体大小&大小。
  • 当PLAF更改时,文本不会自动更改字体或大小。
  • 像助记符和加速器的东西将无法使用图像文本按钮。

  1. 它写它变得更加清楚这将是多么古怪与之合作的点时,只。