我已经看到很多改变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;
}
}