【发布时间】:2020-07-20 02:06:56
【问题描述】:
我正在尝试将我的 JLabel 的一部分的颜色更改为特定颜色。我正在尝试使 Blue Wins: 0 中的“Blue Wins”变成蓝色,我知道我应该使用 html函数,并且该函数应该看起来像这个新的JLabel("<html>Blue Wins: 0 <font color='Blue Wins'>blue</font></html>"));。但我不确定它是否应该是这样的,更重要的是我应该将此函数放在我的代码中的什么位置(GUI 部分而不是逻辑部分)
这两个sn-ps的代码是连接到Jlabel和它的颜色和字体的Gui部分的代码。
JLabel infoLabel;
JLabel XWinCounter = new JLabel("X Wins: 0");
JLabel OWinCounter = new JLabel("O Wins: 0");
GameLogic gameLogic;
infoLabel.setHorizontalAlignment(JLabel.CENTER);
panel.setBorder(new LineBorder(Color.black,1));
XWinCounter.setForeground(Color.BLUE);
XWinCounter.setOpaque(true);
infoPanel.add(XWinCounter);
infoPanel.add(OWinCounter);
infoPanel.add(infoLabel);
getContentPane().add(infoPanel, BorderLayout.NORTH);
getContentPane().add(panel,BorderLayout.CENTER);
这是带有 Jlabel 的 GUI 当前的外观,整个前景色为蓝色,我只希望 Blue Wins: Part 为蓝色,并且 0 应保持与当前颜色相同。
【问题讨论】:
-
<font color='Blue Wins'>“但我不确定它是否应该是这样的” 不,绝对不是。当在 Swing 组件中使用 HTML 时遇到问题,建议先在浏览器中将其作为 HTML 进行尝试,然后使用 HTML 验证服务等进行验证。不要只是编造东西并希望它能正常工作。
标签: java html swing user-interface jlabel