Java 模式对话框阻止正确的光标状态
我无法同时显示模式对话框和忙碌光标 我显示一个模态对话框,并将主框架的光标设置为“等待状态”。一切都很好,只是如果鼠标退出主框架并再次进入,它将永远不会回到“等待状态”。如果对话框不是模态的,则不会发生此错误(?) 测试程序:Java 模式对话框阻止正确的光标状态,java,swing,cursor,modal-dialog,jdialog,Java,Swing,Cursor,Modal Dialog,Jdialog,我无法同时显示模式对话框和忙碌光标 我显示一个模态对话框,并将主框架的光标设置为“等待状态”。一切都很好,只是如果鼠标退出主框架并再次进入,它将永远不会回到“等待状态”。如果对话框不是模态的,则不会发生此错误(?) 测试程序: public static void main(String[] args) { final JFrame frame = new JFrame(); frame.setSize(new Dimension(500, 500));
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))代码>
光标
可以更改(或更改可见)已获得焦点的窗口
,这是模态窗口或模态类型
的基本属性
它永远不会回到“等待状态”。如果对话框不是模态的,则不会发生此错误(?)
- 关闭子
JDialog
后,可以将JFrame
光标更改为WAIT\u光标
- 通过删除
setModal()
或将ModalityType
s更改为ModalityType.MODELESS
好的,谢谢,我不知道!问题是我想在模式对话框中添加一个进度条,让光标在整个应用程序中等待,直到对话框消失。我该怎么点呢?@paranoia25(移动逻辑)要改变弹出窗口的光标(在你的例子中是JDialog),让它JFrame…-),在这个论坛上搜索SwingWorker和JProgressBar。。。《每日邮报》回答了类似的问题