Perfetto!
ti allego il codice, l'ho pulito un po' altrimenti non finiva più. Ho tolto tutte le action performed sui vari elementi del menù, la dichiarazione dei componenti e gli import.
Grazie

codice:
package interfacce;
public class main extends javax.swing.JFrame {

    //public boolean run=false;
    daemon di=new daemon("istantanei");
    public boolean login=false;  
    /** Creates new form main */
    public main() {
        initComponents();
        // Prendo le dimensioni del desktop
        Dimension dim_schermo = Toolkit.getDefaultToolkit().getScreenSize();
        // Calcolo la posizione orizzontale della finestra
        int posX = (int) (dim_schermo.width - getWidth())/2;
        // Calcolo la posizione verticale della finestra
        int posY = (int) (dim_schermo.height - getHeight())/2;
        // Posiziono la finestra
        setLocation(posX, posY);
        this.jButton3.setEnabled(false);
        rigenera_login();
        

    }
    public void rigenera_login(){
        if(!login){
            this.jMenu1.setEnabled(false);
            this.jMenu2.setEnabled(false);
            this.jMenu3.setEnabled(false);
            this.jButton1.setText("login");
            this.jTextField1.setEditable(true);
            this.jPasswordField1.setEditable(true);
            this.jButton2.setVisible(false);
            this.jButton3.setVisible(false);
            
        }else{
            this.jMenu1.setEnabled(true);
            this.jMenu3.setEnabled(true);
            this.jButton1.setText("logout");
            this.jTextField1.setEditable(false);
            this.jPasswordField1.setEditable(false);
            this.jButton2.setVisible(true);
            this.jButton3.setVisible(true);
            rigenera_db();
        }
    }    
    public void rigenera(){
        this.setEnabled(true);
    }
    
    public void rigenera_db(){
        connection conn=new connection();
        wait w =new wait();
        w.repaint();
        w.setVisible(true);
        try {
            this.setEnabled(false);
            conn.dbConnect();
            w.dispose();
            this.setEnabled(true);
            this.jMenu2.setEnabled(true);
        } catch (JDOMException ex) {
            this.jMenu2.setEnabled(false);
            w.dispose();
            this.setEnabled(true);
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            this.jMenu2.setEnabled(false);
            w.dispose();
            this.setEnabled(true);
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (db_exception ex) {
            this.jMenu2.setEnabled(false);
            w.dispose();
            this.setEnabled(true);
            Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        setTitle("Eldan DDE Server for PLC");
        setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("logo.gif")));

        jLabel1.setText("User");
        jLabel2.setText("Password");
        jButton1.setText("Login");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jButton1MousePressed(evt);
            }
        });
        jButton2.setText("Avvia Server");
        jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jButton2MousePressed(evt);
            }
        });
        jButton3.setText("Ferma Server");
        jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jButton3MousePressed(evt);
            }
        });

        jMenu1.setText("File");

        jMenuItem12.setText("Impostazioni");
        jMenuItem12.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem12MousePressed(evt);
            }
        });
        jMenu1.add(jMenuItem12);
        jMenu1.add(jSeparator1);

        jMenuItem15.setText("Reset Totalizzatore");
        jMenuItem15.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem15MousePressed(evt);
            }
        });
        jMenu1.add(jMenuItem15);

        jMenuItem14.setText("Reset Temporizzatore");
        jMenuItem14.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem14MousePressed(evt);
            }
        });
        jMenu1.add(jMenuItem14);
        jMenu1.add(jSeparator6);

        jMenuItem3.setText("Esci");
        jMenuItem3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem3MousePressed(evt);
            }
        });
        jMenu1.add(jMenuItem3);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Edit");

        jMenuItem1.setText("Inserisci PLC");
        jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem1MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem1);

        jMenuItem2.setText("Inserisci Sensore");
        jMenuItem2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem2MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem2);
        jMenu2.add(jSeparator5);

        jMenuItem4.setText("Modifica PLC");
        jMenuItem4.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem4MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem4);

        jMenuItem5.setText("Modifica Sensore");
        jMenuItem5.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem5MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem5);
        jMenu2.add(jSeparator2);

        jMenuItem6.setText("Elimina PLC");
        jMenuItem6.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem6MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem6);

        jMenuItem7.setText("Elimina Sensore");
        jMenuItem7.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem7MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem7);
        jMenu2.add(jSeparator4);

        jMenuItem11.setText("Modifica login");
        jMenuItem11.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem11MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem11);

        jMenuItem13.setText("Modifica timer");
        jMenuItem13.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem13MousePressed(evt);
            }
        });
        jMenu2.add(jMenuItem13);

        jMenuBar1.add(jMenu2);

        jMenu3.setText("Visualizza");

        jMenuItem8.setText("PLC");
        jMenuItem8.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem8MousePressed(evt);
            }
        });
        jMenu3.add(jMenuItem8);

        jMenuItem9.setText("Sensori");
        jMenuItem9.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem9MousePressed(evt);
            }
        });
        jMenu3.add(jMenuItem9);
        jMenu3.add(jSeparator3);

        jMenuItem10.setText("Stato Server");
        jMenuItem10.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jMenuItem10MousePressed(evt);
            }
        });
        jMenu3.add(jMenuItem10);

        jMenuBar1.add(jMenu3);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 107, Short.MAX_VALUE)
                    .addComponent(jLabel1)
                    .addComponent(jLabel2)
                    .addComponent(jButton1)
                    .addComponent(jPasswordField1))
                .addGap(131, 131, 131)
                .addComponent(jButton2)
                .addGap(18, 18, 18)
                .addComponent(jButton3)
                .addContainerGap(348, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(197, 197, 197)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton2)
                    .addComponent(jButton3))
                .addGap(18, 18, 18)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jButton1)
                .addContainerGap(135, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>  
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new main().setVisible(true);
            }
        });
    }       
}