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

Java Swing中设置JLabel字体加粗报错,求排查解决方法

解决Java Swing JLabel设置字体时的两个错误

错误原因分析

  • 错误1:BOLD cannot be resolved or is not a field
    你导入了JavaFX的javafx.scene.text.Font类,这个类里没有BOLD静态常量,而Swing组件依赖的java.awt.Font才定义了BOLD、PLAIN、ITALIC这类字体样式常量。

  • 错误2:The method setFont(java.awt.Font) in the type JComponent is not applicable for the arguments (javafx.scene.text.Font)
    Swing的JLabel继承自JComponent,它的setFont方法仅接受java.awt.Font类型的参数,你传入的是JavaFX的Font对象,类型不匹配导致调用失败。

解决方案

方法1:修正导入语句

确保代码导入的是Swing对应的字体类:

import java.awt.Font;
import javax.swing.JLabel;

之后正常编写代码即可:

JLabel label = new JLabel();
label.setFont(new Font("Calibri", Font.BOLD, 20));

方法2:使用全限定类名(避免包冲突)

如果项目同时用到JavaFX和Swing,不想修改导入语句,可以直接用全限定类名指定java.awt.Font:

JLabel label = new JLabel();
label.setFont(new java.awt.Font("Calibri", java.awt.Font.BOLD, 20));

内容的提问来源于stack exchange,提问作者Rebecca Wulf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:35:13