我有一个扩展 JButton 的类,因为我使用的自定义外观会忽略 isOpaque() 调用。我的意思是,即使我在按钮和所有父面板上调用了 setOpaque (false),按钮的背景也会呈现。我已经从公司设计人员处确认这是 LAF 的问题,所以除了扩展类(class)之外我无能为力。 所以我的问题是,如何实现 Paint() 方法以不渲染背景而仅渲染按钮图标? 干杯
已解决:如果有人感兴趣,我想要的答案是使用 button.setContentAreaFilled(false);
最佳答案
绘画是通过三种方法完成的:paintComponent、paintBorder和paintChildren。它们按该顺序调用,并且第一个绘制组件的背景。如果您重载其中一个并保留其他两个,应该没问题。
关于java - 重写 JButton 中的 Paint() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5065314/