我有一个带有swing结合的java应用程序。有几个复杂的组件层次结构,您可以单击一个按钮打开一个对话框,然后在该对话框中,如果单击一个按钮,则会打开另一个按钮(结果窗口或其他内容)。通常这些都在线程中运行。当它们运行时,我希望将光标符号更改为“等待”整个应用程序,但是当我处于多个对话框之上时它不会发生。只有当我处于应用程序级别(根级别)时才会发生这种情况。我正在使用以下代码
// start wait cursor on menu bar
RootPaneContainer root = ((RootPaneContainer) mMenuBar.getTopLevelAncestor());
root.getGlassPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
root.getGlassPane().addMouseListener(new MouseAdapter()
{});
root.getGlassPane().setVisible(true);
// start wait cursor on main window
root = ((RootPaneContainer) mMainPanel.getTopLevelAncestor());
root.getGlassPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
root.getGlassPane().addMouseListener(new MouseAdapter()
{});
root.getGlassPane().setVisible(true);
System.out.println("Start wait cursor.");
我从here
获得了上述代码