所以这个问题的初始设置是有一个 JDialog,在里面我放置了一个 JPanel 来容纳其余的组件(因为绘制 JDialog 本身显然是一个坏主意)。这个 JPanel 有一个覆盖的 paintComponent(Graphics g) 方法,它只绘制背景并为美观目的添加一个微弱的边框。
现在里面是一系列 JPanel,它们对包含的表单组件进行分类,每个 JPanel 也有一个覆盖的paintComponent(Graphics g),绘制一个半透明的背景。
在每个 JPanel 中,我开始遇到一些问题,大概是透明度问题。我在这些面板中有 JTextFields、JCheckBoxes、JLabels、JSlider 等,当您与其中一个交互(悬停、单击等)时,背景从透明变为不透明,偶尔会出现来自另一个字段的重影图像(看起来有点随机有时)。我正在使用一个名为 Web 的自定义 LAF,但我使用其他内置 LAF 进行了测试,并且发生了同样的事情。
这是Java的故障还是我搞砸了?如果是这样,我该如何修补?如有必要,我可以稍后粘贴代码片段,但我使用了几个自定义类和九个补丁样式的图像拼接,这可能会使代码片段难以理解。提前致谢!