ERRO com JTable, não encontrado em nenhum outro local -> Tento resolver a 3 dias.. ;/

Sempre que coloco num JFrame uma JTable, ocorre o seguinte erro:

29/02/2008 15:20:37 org.jdesktop.application.SessionStorage restoreTree WARNING: No saved state for javax.swing.JTable[debito,0,0,571x240,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=128,g=128,b=128],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=49,g=106,b=197],selectionForeground=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],showHorizontalLines=true,showVerticalLines=true]

Já tentei de tudo… deletar as JTables, adicionar de novo, mas sempre dá esse erro pra todas as JTables no código… ;/

Vou agora mostrar como está o meu código…

Arquivo MagiaApp.java (Chama a janela Login.java)

/*
 * MagiaApp.java
 */

package magia;

import org.jdesktop.application.Application;
import org.jdesktop.application.SingleFrameApplication;

/**
 * The main class of the application.
 */
public class MagiaApp extends SingleFrameApplication {
    
    static javax.swing.JFrame telaFunc;
    static javax.swing.JFrame telaAdmin;
    static javax.swing.JDialog telaLogin; // Referência estática, pode levar um dispose a partir de outra classe
    static SQL bd = new SQL("pgsql"); // Para manter conexão sempre ativa
    
    /**
     * At startup create and show the main frame of the application.
     */
    @Override protected void startup() {
        show(telaLogin = new Login());
        bd.connect("localhost", "postgres", "senha", "magia");
    }
    
    public static void telaFunc(String login, String senha) {
        
        telaLogin.dispose();
        
        telaFunc = new Func(login,senha);
        telaFunc.setLocationRelativeTo(Application.getInstance(MagiaApp.class).getMainFrame());
        Application.getInstance(MagiaApp.class).show(telaFunc);
    }

    public static void telaAdmin(String login, String senha) {
        
        telaLogin.dispose();
        
        telaAdmin = new Admin(login,senha);
        telaAdmin.setLocationRelativeTo(Application.getInstance(MagiaApp.class).getMainFrame());
        Application.getInstance(MagiaApp.class).show(telaAdmin);
    }
    /**
     * This method is to initialize the specified window by injecting resources.
     * Windows shown in our application come fully initialized from the GUI
     * builder, so this additional configuration is not needed.
     */
    @Override protected void configureWindow(java.awt.Window root) {
        
    }

    /**
     * A convenient static getter for the application instance.
     * @return the instance of MagiaApp
     */
    public static MagiaApp getApplication() {
        return Application.getInstance(MagiaApp.class);
    }
    
    public static void disposeTelaLogin() {
        telaLogin.dispose();
    }
        
    /**
     * Main method launching the application.
     */
    public static void main(String[] args) {
        launch(MagiaApp.class, args);
    }
    
}

Agora a janela Login.java

/*
 * Login.java
 *
 * Created on 27 de Fevereiro de 2008, 00:41
 */

package magia;

//import org.jdesktop.application.Action;


/**
 *
 * @author  Winxp
 */
public class Login extends javax.swing.JDialog {
    
    /** Creates new form Login */
    public Login() {
        super();
        //super(parent, modal);
        initComponents();
        // Conexão inicial com o Banco de dados..
        //bd.connect("localhost", "postgres", "senha", "magia");
    }
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        tipo = new javax.swing.ButtonGroup();
        ok = new javax.swing.JButton();
        sair = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        login = new javax.swing.JTextField();
        senha = new javax.swing.JPasswordField();
        jPanel2 = new javax.swing.JPanel();
        func = new javax.swing.JRadioButton();
        admin = new javax.swing.JRadioButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(magia.MagiaApp.class).getContext().getResourceMap(Login.class);
        setTitle(resourceMap.getString("Form.title")); // NOI18N
        setAlwaysOnTop(true);
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setLocationByPlatform(true);
        setName("Form"); // NOI18N
        setResizable(false);

        ok.setText(resourceMap.getString("ok.text")); // NOI18N
        ok.setName("ok"); // NOI18N
        ok.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                okActionPerformed(evt);
            }
        });

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(magia.MagiaApp.class).getContext().getActionMap(Login.class, this);
        sair.setAction(actionMap.get("quit")); // NOI18N
        sair.setText(resourceMap.getString("sair.text")); // NOI18N
        sair.setToolTipText(resourceMap.getString("sair.toolTipText")); // NOI18N
        sair.setName("sair"); // NOI18N

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel1.border.title"))); // NOI18N
        jPanel1.setName("jPanel1"); // NOI18N

        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel1.setName("jLabel1"); // NOI18N

        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jLabel2.setName("jLabel2"); // NOI18N

        login.setText(resourceMap.getString("login.text")); // NOI18N
        login.setName("login"); // NOI18N
        login.setNextFocusableComponent(senha);

        senha.setText(resourceMap.getString("senha.text")); // NOI18N
        senha.setName("senha"); // NOI18N
        senha.setNextFocusableComponent(ok);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(senha, javax.swing.GroupLayout.DEFAULT_SIZE, 134, Short.MAX_VALUE)
                    .addComponent(login, javax.swing.GroupLayout.DEFAULT_SIZE, 134, Short.MAX_VALUE))
                .addGap(14, 14, 14))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(login, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(senha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel2.border.title"))); // NOI18N
        jPanel2.setName("jPanel2"); // NOI18N

        tipo.add(func);
        func.setSelected(true);
        func.setText(resourceMap.getString("func.text")); // NOI18N
        func.setName("func"); // NOI18N

        tipo.add(admin);
        admin.setText(resourceMap.getString("admin.text")); // NOI18N
        admin.setName("admin"); // NOI18N

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(func)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 16, Short.MAX_VALUE)
                .addComponent(admin)
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(admin)
                    .addComponent(func))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(52, 52, 52)
                        .addComponent(ok)
                        .addGap(30, 30, 30)
                        .addComponent(sair)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(ok)
                    .addComponent(sair))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void okActionPerformed(java.awt.event.ActionEvent evt) {                                   

        String bdlogin = login.getText().trim().replaceAll("'", "''"); // Pega login e proteje de injections
        char[] bdsenha = senha.getPassword(); // Pega Senha
        String pgsenha = ""; // Variavel da senha completa

        // Transforma a senha em String
        for (int i=0; i<bdsenha.length ; i++) { pgsenha = pgsenha+bdsenha[i]; }
        
        pgsenha.trim().replaceAll("'", "''");
        //Verifica o botao Selecionado - funcionário ou Administrador
        if (func.isSelected()) {
            bd.query("SELECT * FROM usuarios WHERE login='"+bdlogin+"' AND senha='"+pgsenha+"';");
            if (bd.numRows()>0) {
                telaFunc(bdlogin,pgsenha);
            }
            else {
                javax.swing.JOptionPane.showMessageDialog(MagiaApp.telaLogin, "Usuário ou senha de Funcionário inválida");
            }
        }
        else {
            bd.query("SELECT * FROM admin WHERE login='"+bdlogin+"' AND senha='"+pgsenha+"';");
            if (bd.numRows()>0) {
                telaAdmin(bdlogin,pgsenha);
            }
            else {
                javax.swing.JOptionPane.showMessageDialog(MagiaApp.telaLogin, "Usuário ou senha da Administração inválida");
            }
        }       
        

        
    }                                  
    
    //@Action
    public void telaFunc(String login, String senha) {
        
        //telaFunc = new Func(login,senha); // Envia comandos
        //telaFunc.setLocationRelativeTo(MagiaApp.getApplication().getMainFrame());

        //MagiaApp.disposeTelaLogin();
        //MagiaApp.getApplication().show(telaFunc);
        MagiaApp.telaFunc(login, senha);

    }

    
    //@Action
    public void telaAdmin(String login, String senha) {
        
        //telaAdmin = new Admin(login,senha); // Envia comandos
        //telaAdmin.setLocationRelativeTo(MagiaApp.getApplication().getMainFrame());

        //MagiaApp.disposeTelaLogin(); //setvisible false em vez do dispose
        //MagiaApp.getApplication().show(telaAdmin);
        MagiaApp.telaAdmin(login, senha);

    }  
    
    //SQL bd = new SQL("pgsql");
    SQL bd = MagiaApp.bd; // Resgata conexão
    //private javax.swing.JFrame telaFunc;
    //private javax.swing.JFrame telaAdmin;
    // Variables declaration - do not modify                     
    private javax.swing.JRadioButton admin;
    private javax.swing.JRadioButton func;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTextField login;
    private javax.swing.JButton ok;
    private javax.swing.JButton sair;
    private javax.swing.JPasswordField senha;
    private javax.swing.ButtonGroup tipo;
    // End of variables declaration                   
    
}

E por fim… uma das janelas que da erro no JTable… que é a ultima janela a ser chamada… é a Admin.java
explicando: o MagiaApp.java chama a janela login do Login.java, uma jdialog… ai se o login tiver certo… essa janela login se fecha e abre a janela Admin.java

segue o código do Admin.java, que da o WARNING descrito ao por as JTables…

/*
 * Admin.java
 *
 * Created on 28 de Fevereiro de 2008, 02:20
 */

package magia;

import org.jdesktop.application.*;
/**
 *
 * @author  Winxp
 */
public class Admin extends javax.swing.JFrame {
    
    SQL bd = MagiaApp.bd; // Resgata conexão
    
    /** Creates new form Admin */
    public Admin(String login, String senha) {
        initComponents();
        nomeadmin.setText(login);
        
        bd.query("SELECT * FROM admin WHERE login='"+login+"' AND senha='"+senha+"';");
        
        if (bd.numRows()<1) {
            javax.swing.JOptionPane.showMessageDialog(MagiaApp.telaAdmin, "Usuário ou senha da Administração inválida");
            System.exit(0);
        }
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        nomeadmin = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        try {
            teste =(javax.swing.JTable)java.beans.Beans.instantiate(getClass().getClassLoader(), "magia.Admin_teste");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (java.io.IOException e) {
            e.printStackTrace();
        }
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenu2 = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(magia.MagiaApp.class).getContext().getResourceMap(Admin.class);
        setTitle(resourceMap.getString("Form.title")); // NOI18N
        setMinimumSize(new java.awt.Dimension(800, 600));
        setName("Form"); // NOI18N
        setResizable(false);

        jPanel1.setBackground(resourceMap.getColor("jPanel1.background")); // NOI18N
        jPanel1.setBorder(new javax.swing.border.MatteBorder(null));
        jPanel1.setName("jPanel1"); // NOI18N

        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N

        nomeadmin.setFont(resourceMap.getFont("nomeadmin.font")); // NOI18N
        nomeadmin.setForeground(resourceMap.getColor("nomeadmin.foreground")); // NOI18N
        nomeadmin.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        nomeadmin.setText(resourceMap.getString("nomeadmin.text")); // NOI18N
        nomeadmin.setName("nomeadmin"); // NOI18N

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(321, 321, 321)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(nomeadmin, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(218, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(nomeadmin, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        jScrollPane1.setName("jScrollPane1"); // NOI18N
        jScrollPane1.setViewportView(teste);

        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N
        jMenuBar1.add(jMenu1);

        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
        jMenu2.setName("jMenu2"); // NOI18N
        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addGap(72, 72, 72)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(276, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(102, 102, 102)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(264, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        
    
    
    // Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel nomeadmin;
    private javax.swing.JTable teste;
    // End of variables declaration                   
    
}

Explicando como funciona meu sistema para facilitar o entendimento:
-A partir do MagiaApp.java gero algumas variaveis estáticas, como o telaLogin e o telaAdmin, assim posso fechar a janela de login a partir de outras janelas
-O MagiaApp.java ao iniciar, chama o Login.java que é uma JDialog, ai a pessoa entra com usuario e senha…

  • Se senha e usuario corretos, depois do actionperformed do botão OK… o Login.java chama o metodo estatico de MagiaApp “para se fechar” e abrir a janela presente no Admin.java