Which are other events than timer not fired by user interaction but automatically by the system?
I will say that none or better all.
Thats depend of that what are you doing in the system. You can fire all type of events in your application. It can be sad that some of them are fired by user interaction, bu it is up to You to decide that what the interaction.
A reasonable distinction is between events entering the AWT EventQueue
through "the system" and those explicitly queued (possibly through AWT libraries). Without any permissions these will come through EventQueue.invokeLater
and EventQueue.invokeAndWait
, causing an InvocationEvent
. javax.swing.Timer
and revalidate
are typically implemented with invokeLater
. It is also possible to get the current EventQueue
instance a post any event you want.
It is also possible to go through "the system" to cause events, such as repaint
and java.awt.Robot
.