Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 新jframe出现在当前jframe后面_Java_Swing_User Interface - Fatal编程技术网

Java 新jframe出现在当前jframe后面

Java 新jframe出现在当前jframe后面,java,swing,user-interface,Java,Swing,User Interface,我这里有些麻烦 我做了一个主CRUD表单,这个表单上的一个按钮,当点击它调用另一个表单时,这个负责在数据库中进行查询,以排序用户输入的日期和时间,并显示在屏幕上。。。但这里是交易,当我点击按钮“Listar Por Prioridade”将此表格称为“Trabalhos Prontos”时,它出现在第一个表格“Registro de Novos Chamados”后面。。。我尝试使用: private void btListarPrioridadeActionPerformed(java.awt

我这里有些麻烦

我做了一个主CRUD表单,这个表单上的一个按钮,当点击它调用另一个表单时,这个负责在数据库中进行查询,以排序用户输入的日期和时间,并显示在屏幕上。。。但这里是交易,当我点击按钮“Listar Por Prioridade”将此表格称为“Trabalhos Prontos”时,它出现在第一个表格“Registro de Novos Chamados”后面。。。我尝试使用:

private void btListarPrioridadeActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        try {                                              
            man = new MySQLDaoManager("root", "", "localhost", "atendimentos", 3306);
            try {
                FormTrabProntos frmTrbPrnt = new FormTrabProntos(man);
                frmTrbPrnt.setVisible(true);
                frmTrbPrnt.toFront();
                FormNovaChamada frmNvCham = new FormNovaChamada(frmini, editavel);
                frmNvCham.toBack();

            } catch (DAOException ex) {
                Logger.getLogger(FormGestor.class.getName()).log(Level.SEVERE, null, ex);
            }

        } catch (SQLException ex) {
            Logger.getLogger(FormGestor.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

什么都没有(见下图)。。谁知道我如何解决这个问题,并使被调用的屏幕出现在第一个屏幕的前面?!非常感谢

最后我解决了它,函数保持如下:

private void btPriorityListActionPerformed(java.awt.event.ActionEvent evt){
试试{
man=新的MySQLDaoManager(“根”,“本地主机”,“出席人数”,3306);
试一试{
setVisible(假);
处置();
FormTrabProntos frmTrbPrnt=新FormTrabProntos(man);
frmTrbPrnt.setVisible(真);
frmTrbPrnt.toFront();
frmTrbPrnt.requestFocus();
}捕获(DAOEX异常){
Logger.getLogger(FormGestor.class.getName()).log(Level.SEVERE,null,ex);
}
}catch(SQLException-ex){
Logger.getLogger(FormGestor.class.getName()).log(Level.SEVERE,null,ex);
}

}
这可能会对您有所帮助:当使用
setVisible(true)
时,默认行为是在前面显示一个帧。改变你的逻辑顺序,使你想要在前面的框架成为最后一个可见的框架。最简单的方法是一次只显示一个屏幕。这样显示一个背景中卡在另一帧后面的JFrame有什么用?只需在显示提示JFrame时将父级可见性设置为false,并在关闭提示JFrame时将可见性设置为true即可查看非常感谢在这里提供帮助的所有人!!!我今天做了,终于成功了!!!我注意到,如果我同时调用另一个JFrame和另一个JFrame,那么它就不起作用了,并且会发生冲突。。。我已经修复了setVisible(false)并处理了第一个,因此在另一个上设置了setVisible(true)和toFront()。您真正的问题是,对于应该使用
JInternalFrame
的情况,您使用的是
JFrame
。正如安德鲁·汤普森(Andrew Thompson)所建议的,研究他推荐的关于多重
JFrame
使用的帖子。您发布了“此表单上的一个按钮,单击该按钮将调用另一个表单”。最有可能的是,带有按钮的“表单”是一个
JFrame
。在此框架内调用的所有其他“表单”都应该是
JInternalFrame
对象。这样做,您就不必处理父帧。嗨,hfontanez!非常感谢你的提示,我现在就要做了,我做这段代码有点匆忙,因为我这周一的期末报告,我有点绝望,所以,在注册屏幕上,我把它作为JFrame,在第二个屏幕上是JInternalFrame,不是吗?是的。主(程序)窗口应为
JFrame
,所有其他相关窗口应为“JInternalFrame”。这里有一个很好的教程: