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

当我尝试通过转到其属性然后图标在Jbutton中添加背景时,它然后设置按钮的背景,但是我在按钮上写的文本,它向右移动(在按钮区域之外)。什么是这个解决方案?

据我所知,你没有设置背景,但你正在设置Icon to button。 这就是为什么你会看到右侧的图像和左侧的文本。 要将图像作为背景添加到按钮,您需要覆盖JButon paintComponent(g)方法并在其中绘制图像。

如果要使用NetBeans将图像添加到JButton ,请执行以下步骤:

  1. 右键单击Source Packages ,在Projects下选择New -> Other -> (Under Categories) Select Other -> (Under File Types) Select Folder
  2. 单击“下一步”,然后为该文件夹提供名称。 对于示例resources ,请检查Parent Folder ,src是否在字段内写入。 现在单击Finish。
  3. 现在手动转到计算机上的此位置并创建一个新文件夹,比如图像,然后将IMAGE粘贴到此文件夹中。
  4. 现在在Design Mode ,选择你的JButton,在右侧转到这个JButton的属性。 在前台下,您将看到icon被写入,单击与其关联的Eclipse按钮以打开窗口,如下图所示: 图1
  5. 请检查此图1,填写您的值,然后按OK

您已完成将图像添加到JButton。 如果你想使用我使用的图像,这里就是 窗口图像 。 是的,我忘了提到,为此,我在属性中的其他属性下设置了horizo​​ntalTextPosition = CENTER和veritcalTextPosition = BOTTOM。

以下是整个事情的输出:

CELSIUS转换器图像

这是什么解决方案?

一个“解决方案” 1是在图像上写下文本。 这不是一个很好的解决方案,因为:

  • 需要在用于按钮的每个图标上写入文本(例如,正常,翻转,选择等)。
  • 然后,您有责任选择合适的字体和大小。
  • 当PLAF改变时,文本不会自动改变字体或大小。
  • 像助记符和加速器这样的东西不适用于图像文本按钮。

  1. 只有在写出这些要点时,才能更清楚地了解它的工作原理是多么古怪。