如何在SWT中为标签添加实线边框并更改边框的颜色?

时间:2010-12-10 20:01:32

标签: java swt

我希望通过为标准SWT标签添加一个实线边框并为该边框选择颜色来设置样式。我似乎无法通过在线查找来找到一种方法。这甚至支持?我似乎只是将SWT.BORDER样式应用于它,这是一个我看似无法控制的3D效果边框。

2 个答案:

答案 0 :(得分:2)

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

事实上,您可以在标签上绘制任何内容。

答案 1 :(得分:2)

JFace Forms在FormToolkit中提供。请参阅here

私人类BorderPainter(第106-165行)完成了Mario在他的回答中所描述的内容:自定义绘制小部件周围的边框。为了使其工作,您必须将BorderPainter(PaintListener)添加到窗口小部件的父级,请参阅第798行中的paintBordersFor(.)

如果你只需要边框画家,我不建议添加jface表单作为依赖项 - 太重了。但是那段代码可以帮助你。