Ern*_*dis 2 java graphics swing paintcomponent
怎么知道它paintComponent(Graphics g)
完成了它的工作?
我可以:
@Override
public void paintComponent(Graphics g) {
try {
//Paint some stuff
} finally {
//Do something after painting
}
}
Run Code Online (Sandbox Code Playgroud)
还有其他方法吗?
你的问题是:
如何知道paintComponent(Graphics g)已完成它的工作?
然后你在对这个问题的评论中说:
我创建了按钮(简单的JComponent),它必须首先淡出,然后执行actionlistener.actionPerformed(someEvent)
正如我所怀疑的那样,你似乎在paintComponent中做错了,因为淡出后面的驱动程序不应该在这个方法中.这种方法应该快速,因为所有人都会离开,它应该在比喻"眨眼间"完成,并且不应该在其内部有任何延迟或褪色.相反,您可能会使用Swing Timer来更改按钮用于透明度的类字段,在每次状态更改后调用重绘,然后在Timer完成后,您调用代码执行您想要的任何操作.
有关更具体的帮助,请考虑创建和发布sscce.