JAVA:将框架和对话框放在前面
我有一个包含“计算”按钮的框架,当我点击按钮“计算”时,有一个处理打开一个对话框和一个框架。但是在第一帧之下 我试图添加setAlwaysOnTop(true),但打开的帧和对话框仍保留在前景中,用户被迫关闭它们以返回上一帧 下面是计算操作:JAVA:将框架和对话框放在前面,java,swing,jframe,jdialog,Java,Swing,Jframe,Jdialog,我有一个包含“计算”按钮的框架,当我点击按钮“计算”时,有一个处理打开一个对话框和一个框架。但是在第一帧之下 我试图添加setAlwaysOnTop(true),但打开的帧和对话框仍保留在前景中,用户被迫关闭它们以返回上一帧 下面是计算操作: public T compute(){ //Some code HistogramView hv = new HistoGramView(owner, graph); AdjustDepthMapDialogVarioMap admap
public T compute(){
//Some code
HistogramView hv = new HistoGramView(owner, graph);
AdjustDepthMapDialogVarioMap admap = new AdjustDepthMapDialogVarioMap(owner,text);
}
public class HistogramView extends OwnerJFrame{
//Code
}
public class OwnerJFrame extends JFrame{
//Code
}
public class AdjustDepthMapDialogVarioMapextends OwnerJDialog{
//Code
}
public class OwnerJDialog extends JDialog{
//Code
}
以下是HistorogramView类的构造函数:
public HistogramView(Component parent, Graph graph) {
super("Histogram View");
graphPanel = new GraphPanel (graph);
setLocationRelativeTo(parent);
setTitle("Histogram ");
setSize(550, 850);
pack();
setVisible(true);
}
以下是AdjustDepthMapDialogVarioMap类的构造函数:
public AdjustDepthMapDialogVarioMap(Component parent, String text){
try {
text= text;
pack();
setVisible(true);
}
当对话打开时,它实际上必须在前台打开。另一方面,我们不想强迫它保持在前台(如果用户愿意,必须能够通过另一个对话框隐藏它)
有一种解决方案不使用setAlwaysOnTop?您是否尝试过toFront()或toBack()?为了更快获得更好的帮助,请添加or。您的主JFrame窗口必须将setAlwaysOnTop属性设置为true*。在打开下一个窗口(JFrame或JDialog)之前,将父窗体的setAlwaysOnTop属性设置为false(因为它扩展了:)
this.setAlwaysOnTop(false);新的HistorogramView().setVisible(true)代码>。您可能需要考虑设计更改,并在父JFrice中打开Windows,在这种情况下,您可能需要考虑使用.s。您尝试过FoTrn()或ToBoSE()以更快地提供帮助,添加一个OR。您的主JFrror窗口必须将StalAlWaveStopy属性设置为true *。在打开下一个窗口(JFrame或JDialog)之前,将父窗体的setAlwaysOnTop属性设置为false(因为它扩展了:)this.setAlwaysOnTop(false);新的HistorogramView().setVisible(true)代码>。您可能需要考虑设计更改,并在父JFrice中打开Windows,在这种情况下,您可能需要考虑使用“S”。