You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SWT复选框按钮的显示文本设置为粗体

SWT复选框按钮文本设置粗体实现方案

不需要修改messages.properties中的文本配置,直接通过修改控件绑定的字体即可实现粗体效果,注意不要硬编码字体参数,要基于控件原有字体调整,避免和系统UI风格冲突。

具体实现代码

在你原有创建按钮的代码后追加以下逻辑即可:

// 获取按钮当前默认字体
Font defaultFont = button.getFont();
FontData[] fontDatas = defaultFont.getFontData();
// 为字体追加粗体样式
for (FontData fd : fontDatas) {
    fd.setStyle(fd.getStyle() | SWT.BOLD);
}
// 生成粗体字体并应用到按钮
Font boldFont = new Font(button.getDisplay(), fontDatas);
button.setFont(boldFont);
// 绑定销毁事件释放自定义字体资源,避免内存泄漏
button.addDisposeListener(e -> boldFont.dispose());

注意事项

  • 不要直接修改从button.getFont()拿到的默认字体对象,这个字体是SWT全局共享的系统资源,直接修改会导致同进程内所有使用该默认字体的控件都被改成粗体
  • 自定义创建的boldFont必须手动释放,上面的写法把释放逻辑绑定到按钮的销毁事件上,不需要额外管理生命周期,是最稳妥的实现方式
  • 如果后续需要切换回普通字重,重新给按钮设置回默认字体即可,不需要调整文本内容

内容的提问来源于stack exchange,提问作者A.Goel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 14:01:26