我希望通过为标准SWT标签添加一个实线边框并为该边框选择颜色来设置样式。我似乎无法通过在线查找来找到一种方法。这甚至支持?我似乎只是将SWT.BORDER样式应用于它,这是一个我看似无法控制的3D效果边框。
答案 0 :(得分:2)
将PaintListener添加到Label中。在此监听器的paintControl
方法中,获取生成的事件的GC,并使用它绘制一个与标签形状相同的矩形。
事实上,您可以在标签上绘制任何内容。
答案 1 :(得分:2)
JFace Forms在FormToolkit
中提供。请参阅here。
私人类BorderPainter(第106-165行)完成了Mario在他的回答中所描述的内容:自定义绘制小部件周围的边框。为了使其工作,您必须将BorderPainter(PaintListener
)添加到窗口小部件的父级,请参阅第798行中的paintBordersFor(.)
。
如果你只需要边框画家,我不建议添加jface表单作为依赖项 - 太重了。但是那段代码可以帮助你。