Search code examples
javaswingjdialogjoptionpanemodality

JDialog for status display . .


I just want to implement a status dialog. How to show a JDialog which blocks the user input but allow the parent window processing its own work?


Solution

  • You can use a modal JDialog or JOptionPane (which really is nothing more than a specialized modal JDialog) for this, just be sure to

    • the work is not to be done in a parent "window"
    • but rather it should be done in a background thread
    • and this thread should be started prior to setting the dialog visible.
    • Use a SwingWorker for this background thread, and then your dialog can display quantitative progress information by adding a PropertyChangeListener and having the SwingWorker update its progress property.