Em minha aplicação Desktop tenho uma tela principal(JFrame) com menus e tals…
clicando nesses menus vou abrir sub-telas(JInternalFrame)…até aí tudo beleza! Minha dúvida é…se tem como toda vez que eu abrir uma nova sub-tela essa sub-tela fique na frente da que já estava aberta.
Outra coisa…não quero permitir que uma sub-tela que já esteja aberta eu consiga abrir outra mesma sub-tela (por exemplo) estou com a sub-tela Cadastro de Cliente aberta e clicar no menu “Cadastro de Cliente” de novo não quero que abra outra tela do Cadastro de Cliente, sendo que esta já está aberta.
packagecomap;importjava.beans.PropertyChangeListener;importjava.sql.SQLException;importjavax.swing.*;importjava.awt.event.*;importjava.awt.*;importjava.beans.PropertyVetoException;importjava.sql.Connection;importjava.util.logging.Level;importjava.util.logging.Logger;importjavax.swing.UIManager.LookAndFeelInfo;importjavax.swing.AbstractAction;importjavax.swing.JFrame;publicclassFramePrincipalextendsJFrameimplementsActionListener{privateMDIDesktopPanedesktop=newMDIDesktopPane();staticFramePatrimonioframePatrimonio;staticFrameBaixasframeBaixas;...publicvoidacaoBotoes(ActionEvente){if("patrimonio".equals(e.getActionCommand())){//newtry{//newcreateFramePatrimonio();}catch(Exceptionex){Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE,null,ex);}}if("baixas".equals(e.getActionCommand())){//newtry{//newcreateFrameBaixas();}catch(Exceptionex){Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE,null,ex);}}if("sair".equals(e.getActionCommand())){//newinti=JOptionPane.showOptionDialog(null,"Tem certeza que deseja sair?","Sair do Sistema",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,null,JOptionPane.NO_OPTION);if(i==JOptionPane.YES_OPTION){quit();}}}protectedvoidcreateFramePatrimonio()throwsPropertyVetoException,Exception{menu=menuBar;if(framePatrimonio==null){framePatrimonio=newFramePatrimonio(this.dbConnection);framePatrimonio.setVisible(true);//necessary as of 1.3desktop.add(framePatrimonio);framePatrimonio.pack();desktop.getDesktopManager().maximizeFrame(framePatrimonio);}else{framePatrimonio.setVisible(true);}try{framePatrimonio.setSelected(true);}catch(java.beans.PropertyVetoExceptione){}}