I have problem with displaying modal dialog and busy cursor at the same time.
I display a modal dialog and set the cursor of the main frame on "waiting state". Everything is fine, except that if the mouse exits the main frame and enters again, it never comes back on "waiting state". This bug (?) doesn't happen if the dialog is not modal.
The test program:
public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.setSize(new Dimension(500, 500));
final JDialog dialog = new JDialog(frame);
dialog.setModal(true);
frame.add(new JButton(new AbstractAction("Dialog") {
@Override
public void actionPerformed(ActionEvent e) {
frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
dialog.setVisible(true);
}
}));
frame.setVisible(true);
}
frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Cursor
is possibe to change (or change is visible) for window that have got focus
, this is basic properties for Modal window or for ModalityType
s, it never comes back on "waiting state". This bug (?) doesn't happen if the dialog is not modal.
after child JDialog
is closed, then JFrame
could be changed Cursor
to WAIT_CURSOR
you to visible the changed Cursor
by removing setModal()
or to change changing ModalityType
s to the ModalityType.MODELESS