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