public void abrePainel(SICupPainel painel) {
show(new SICupPainel(this));
}
public static void fechaPainel(SICupPainel painel){
painel.getApplication().hide(painel);
}
public void abreLogin(SICupLogin login) {
show(new SICupLogin(this));
}
public static void fechaLogin(SICupLogin login){
login.getApplication().hide(login);
}
//Método BEM básico usado apenas pra testes.
private boolean verificaSenha (char[] pass, String senha) {
char[] senha1 = new char[senha.length()];
for (int i = 0; i < senha.length(); i++) {
senha1[i] = senha.charAt(i);
}
if (pass.length != senha1.length) return false;
for (int i = 0; i < pass.length || i < senha1.length; i++) {
if (pass[i] != senha1[i]) return false;
}
return true;
}
private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
if (txtUsuario.getText().equals("adm") &&
verificaSenha(pswdSenha.getPassword(), "adm")) {
SICupApp app = new SICupApp();
app.abrePainel(new SICupPainel(app));
SICupApp.fechaLogin(this);
}
else {
JOptionPane.showMessageDialog(null, "Login ou senha inválido(s)!", "ERRO!", JOptionPane.ERROR_MESSAGE);
txtUsuario.setText(null);
pswdSenha.setText(null);
txtUsuario.requestFocus();
}
}
Esses são os métodos que eu uso pra abrir outra FrameView. Ele até abre, mas da um erro:
[color=red]01/06/2011 10:18:46 org.jdesktop.application.ResourceManager getApplicationResourceMap AVISO: getApplicationResourceMap(): no Application class 01/06/2011 10:18:46 org.jdesktop.application.SingleFrameApplication initRootPaneContainer AVISO: couldn't restore sesssion [mainFrame.session.xml] java.lang.NullPointerException at org.jdesktop.application.LocalStorage.getApplicationId(LocalStorage.java:195) at org.jdesktop.application.LocalStorage.getDirectory(LocalStorage.java:234) at org.jdesktop.application.LocalStorage$LocalFileIO.openInputFile(LocalStorage.java:330) at org.jdesktop.application.LocalStorage.openInputFile(LocalStorage.java:76) at org.jdesktop.application.LocalStorage.load(LocalStorage.java:138) at org.jdesktop.application.SessionStorage.restore(SessionStorage.java:382) at org.jdesktop.application.SingleFrameApplication.initRootPaneContainer(SingleFrameApplication.java:231) at org.jdesktop.application.SingleFrameApplication.show(SingleFrameApplication.java:463) at sicup.SICupApp.abrePainel(SICupApp.java:16) at sicup.SICupLogin.btnLoginActionPerformed(SICupLogin.java:355) at sicup.SICupLogin.access$900(SICupLogin.java:23) at sicup.SICupLogin$5.actionPerformed(SICupLogin.java:161) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6288) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6053) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4651) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:602) at java.awt.EventQueue$1.run(EventQueue.java:600) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:616) at java.awt.EventQueue$2.run(EventQueue.java:614) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:613) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)[/color]
Eu simplesmente fui em Refatorar > Copiar e dei outro nome pra essa FrameView.
Como faço pra abrir sem dar erro? Dessa maneira, ele abre uma FrameView e fecha a outra. Há uma maneira de abrir a outra no mesmo lugar?