我正在尝试创建一个半透明背景的JTextField(即alpha值为120
的黑色背景)。我目前的代码是:
public static void designTextField(final JTextField tf) {
tf.setBorder(null);
tf.setFont(new Font("Comfortaa", Font.PLAIN, 30));
tf.setBackground(new Color(0, 0, 0, 120));
tf.setForeground(new Color(200, 200, 200, 200));
}
但是,这似乎不起作用。以下是此代码生成的图片(有两个文本字段):
未输入任何文字:
输入的文字:
如您所见,有几个奇怪的绘图错误,两个文本字段似乎完全不透明。我该如何解决这个问题?
答案 0 :(得分:0)
Swing完美适用于透明度。你只需要添加
tf.setOpaque(false);
https://docs.oracle.com/javase/tutorial/uiswing/painting/problems.html 部分"问题:视觉工件出现在我的GUI"解释