Java 如何将实线边框添加到SWT中的标签并更改边框的颜色?

Java 如何将实线边框添加到SWT中的标签并更改边框的颜色?,java,swt,Java,Swt,我想通过给一个标准的SWT标签一个实心边框,并为边框选择一种颜色,从而使其风格化。我似乎找不到一种方法通过在线查找来做到这一点。这是否得到支持?我所能做的似乎只是将SWT.BORDER样式应用于它,这是一个我似乎无法控制的3D效果边框。在标签中添加一个PaintListener。在此侦听器的paintControl方法上,获取生成的事件的GC,并使用它绘制一个与标签形状相同的矩形 事实上,你可以在标签上画任何东西。JFace表单在FormToolkit中提供了这一点。看 私有类BorderPai

我想通过给一个标准的SWT标签一个实心边框,并为边框选择一种颜色,从而使其风格化。我似乎找不到一种方法通过在线查找来做到这一点。这是否得到支持?我所能做的似乎只是将SWT.BORDER样式应用于它,这是一个我似乎无法控制的3D效果边框。

在标签中添加一个PaintListener。在此侦听器的
paintControl
方法上,获取生成的事件的GC,并使用它绘制一个与标签形状相同的矩形


事实上,你可以在标签上画任何东西。

JFace表单在
FormToolkit
中提供了这一点。看

私有类BorderPainter(第106-165行)执行Mario在其回答中已经描述的操作:在小部件周围自定义绘制边框。为了使其正常工作,您必须将BorderPainter(一个
PaintListener
)添加到小部件的父部件中,请参见第798行(.)中的
PaintBorders

如果您只需要边界画师,我不建议添加jface表单作为依赖项,因为它太重了。但是这些代码应该会帮助你