我正在扩展JButton类,并使用ImageIcon作为我的按钮背景。我还添加了一个mouseListener,以便在鼠标悬停在按钮上或按下按钮时更改按钮的图像。这一切都工作得很好,但问题是,当单击按钮时,会显示一个JOptionPane,询问用户“您确定吗”,而显示选项窗格时,按钮MouseClicked、mouseExited或mouseReleased方法不会执行,因此在使用处理选项对话框之前,按钮看起来就像是被卡住按下的。删除对话框不是一个选项。有没有办法让鼠标事件在对话框显示之前或期间执行?
发布于 2015-05-03 11:12:24
我还添加了一个mouseListener,这样当鼠标悬停在按钮上或按下按钮时,我就可以更改按钮的图像。
阅读AbstractButton应用编程接口。有一些方法允许您为这些情况指定图标。例如setPressedIcon()。
它看起来像是按钮被卡住了,直到使用处理选项对话框。
在显示选项窗格之前,不确定ButtonModel状态是否已更改。无论如何,您可以尝试使用:
 button.paintImmediately(...);在显示选项窗格之前。如果ButtonModel状态已更新,则应将按钮重新绘制为其正常状态。请注意,此方法应该很少使用,因为它会影响绘制性能。
https://stackoverflow.com/questions/30009655
复制相似问题