java-为Swing小程序/应用程序创建自定义模式对话框

我正在编写一个Swing应用程序,该应用程序需要充当浏览器中的applet或独立应用程序,即它可以包含在JFrame或JApplet中.

在这种情况下,我想向用户显示一个自定义模式对话框(即一个具有自定义布局和逻辑的复杂对话框,而不仅仅是简单的JOptionPane提示之一).如果对话框是完全包含在应用程序窗口中的轻量级组件,那就很好.

同时,应用程序中将发生后台处理(网络线程,动画等).在显示对话框时,这需要继续.

实施此方法的最佳方法是什么?

解决方法:

看一下JDialog.如果将其设置为模式,它将运行自己的事件处理以使GUI保持最新状态,同时捕获鼠标和键盘事件以供自己使用.

我已经看过了它使用的代码,而这实际上并不是您想要尝试重新发明的东西.

如果以非模式运行它,则可能需要添加一个在最终关闭时要调用的侦听器.这是通过addWindowListener和覆盖windowClosing的WindowAdapter完成的.

至于构造函数的owner参数,我使用

    Window w = (Window) SwingUtilities.getAncestorOfClass(Window.class, comp);

其中comp是一些可见的组件.

之所以起作用,是因为始终有一个*窗口,无论是作为applet还是作为应用程序运行.

上一篇:java-如何查找是否在JApplet中单击了图像?


下一篇:Java-Applet无法在JRE 6u25上运行