是否可以编辑字体的不透明度?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以编辑字体的不透明度?相关的知识,希望对你有一定的参考价值。
我已经看到很多改变jpanel和图像的不透明度的方法,但是无论我多么努力,我都找不到改变字体和字体的不透明度的任何东西。如果可能,最好不要导入库。
只是普通字体代码:
Font font = new Font("SansSerif", Font.BOLD, 15);
setFont(font);
答案
在Swing中,您应该扩展LabelUI以实现标签的不透明度。试试这个
class OpacityLabelUI extends BasicLabelUI
private int alpha = 0x55;
public void setAlpha(int alpha)
this.alpha = alpha;
@Override
protected void paintEnabledText(JLabel l, Graphics g, String s, int textX, int textY)
int mnemIndex = l.getDisplayedMnemonicIndex();
g.setColor(applyAlpha(l.getForeground()));
SwingUtilities2.drawStringUnderlineCharAt(l, g, s, mnemIndex, textX, textY);
private Color applyAlpha(Color color)
color = new Color((color.getRGB() & 0xffffff) | (alpha << 24), true);
return color;
以上是关于是否可以编辑字体的不透明度?的主要内容,如果未能解决你的问题,请参考以下文章