Java:如何在父窗口下打开新的jframe
如何在父框架下创建和打开新的jframe。我试图达到一种效果,新窗口(未装饰)似乎从父窗口后面滑出。现在它在焦点中打开,失去了效果。(J)帧没有父帧。虽然它有Java:如何在父窗口下打开新的jframe,java,popup,z-index,Java,Popup,Z Index,如何在父框架下创建和打开新的jframe。我试图达到一种效果,新窗口(未装饰)似乎从父窗口后面滑出。现在它在焦点中打开,失去了效果。(J)帧没有父帧。虽然它有图形配置,但我想你不会问这个问题。 如果你想把焦点移回打开窗口。这一行中的某些内容应该: final JFrame parent = ... JFrame f=new JFrame(); f.addWindowListener(new WindowAdapter(){ @Override public void w
图形配置
,但我想你不会问这个问题。
如果你想把焦点移回打开窗口。这一行中的某些内容应该:
final JFrame parent = ...
JFrame f=new JFrame();
f.addWindowListener(new WindowAdapter(){
@Override
public void windowActivated(WindowEvent e) {
e.getWindow().removeWindowListener(this);//do not listen any more, we do
EventQueue.invokeLater(new Runnable(){//wait for the pending events
@Override
public void run() {
parent.toFront();
}
});
}
});
在子/弹出jframe的构造函数中编写以下内容
setModal(true);
为什么要在父JFrame下创建另一个JFrame,而不是使用模态功能创建JDialogue。它不太适合我试图实现的效果。不过我想出来了。有点笨重,但我只是实例化了这个窗口,并立即获得了父窗口请求焦点。如果第一个窗口实际上是一个非模态JDialog,并且父窗口是您想要在它下面的窗口,它最初是不可见的,然后变为可见的,该怎么办。JDialog必须位于父窗口的顶部。