First post
I am trying to write some java code that will run during the release process that gathers some user input related to the item being released and stores that in a custom database class.
My approach is to add a DocStateChangeListener that creates a dialog using a class that extends WMJDialog. I am using .setVisible(true) to show the dialog.
I am getting deadlocked threads in the UI. One of the threads is the 'RELEASED' thread that enters my code in the DocStateChangeListener that has a lock on the pdm.semaphore object and wants to acquire a lock on the UI tree in Component.setVisible. The other thread is running JComponent.paintChildren and has a lock on the UI tree and is trying to acquire a lock on the pdm.semaphore object.
Are there special rules on what can be called/done in a DocStateChangeListener that is preventing me from running a dialog using .setVisible()?
|