Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    6

    Problemi con JButton

    Ciao a tutti sono Emanuel e sto facendo un gestionale in java, solo che ho un piccolo problema, quando associo un evento alla pressione di un bottone, tutte le funzioni che devono essere eseguite, in alcuni casi vengono eseguite 2 volte...
    per favore aiutatemi

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    28
    Beh allora metti solo mezzo bottone!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    28
    Se non posti codice nessuno potrà aiutarti...

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Problemi con JButton

    Originariamente inviato da manuzzo
    Ciao a tutti sono Emanuel e sto facendo un gestionale in java, solo che ho un piccolo problema, quando associo un evento alla pressione di un bottone, tutte le funzioni che devono essere eseguite, in alcuni casi vengono eseguite 2 volte...
    per favore aiutatemi
    Come pensi che sia possibile aiutarti se non ci fai vedere il codice che hai scritto?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    6
    Scusate avete ragione, entro questa mattina( quando arrivo in ufficio) posteró il codice...
    Grazie per aver risposto

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    6
    eccomi... scusate il ritardo... vi posto il codice dei due pulsanti... il problema ce l'ho con entrambi
    Codice PHP:
        bottone.addActionListener(new ActionListener() {
                
                @
    Override
                
    public void actionPerformed(ActionEvent ec) {
                    
    // TODO Auto-generated method stub
                    
                    
    nonvuoti false;
                    if (
    inseriscii == 1) {
                        
    String nome tNomeCliente.getText();
                        
    String cognome tCognomeCliente.getText();
                        
    String citta tCittaCliente.getText();
                        
    String problema tproblema.getText();
                        
    String Inizio1 ora_inizio.getText();
                        
    String Fine1 ora_fine.getText();
                        
    String durata2 durata.getText();
                        
    String data1 tdata.getText();
                        
    String utente tNomeUtente.getText().toUpperCase();
                        
    System.out.println(inseriscii);
                        try {
                            
    int i 0;
                            try {
                                
    errore.setText("");
                                
    String sql1 "UPDATE accounts SET Logged = 'ON'  WHERE Utente='"
                                        
    tNomeUtente.getText().toUpperCase()
                                        + 
    "' and Password='"
                                        
    tPasswd.getText().toUpperCase()
                                        + 
    "' and Stato='Attivo' and Logged='ON';";
                                
    java.sql.Statement stat Finestra.d
                                        
    .getConnection().createStatement();
                                
    stat.executeUpdate(sql1);
                                if (
    0) {
                                    
    System.out.print("si");
                                } else {
                                    
    System.out.print("no");

                                }
                            } catch (
    Exception e2) {
                                
    errore.setText("Problema collegamento al Database!");
                                
    errore.setForeground(Color.red);
                            }
                            
    BufferedReader fr = new BufferedReader(new FileReader(
                                    
    "account.txt"));
                            
    String ss1;
                            
    fr.readLine();
                            
    s1 fr.readLine();
                            
    fr.close();
                            
    // if(i>0 && tNomeUtente.getText().equals(s) &&
                            // tPasswd.getText().equals(s1)){
                            
    String st = (String) List.getSelectedItem();
                            
    boolean funziona false;
                            
    System.out.println("Questo1:"+tproblema.getText());

                            if (
    st.equals("Nome *")) {
                                if (
    tNomeCliente.getText().length() != 0
                                        
    && tCittaCliente.getText().length() != 0
                                        
    && tproblema.getText().length() != 0
                                        
    && telefonata == 0)
                                    
    funziona true;
                            } else if (
    st.equals("Rag. Soc. *"))
                                if (
    tNomeCliente.getText().length() != 0
                                        
    && tproblema.getText().length() != 0
                                        
    && telefonata == 0)
                                    
    funziona true;
                            if (
    funziona == true) {

                                
    String sql1 "UPDATE anagrafica SET Nome = ?  WHERE Nome=? and Citta=? and Stato=?;";
                                
    java.sql.PreparedStatement stat1 Finestra.d
                                        
    .getConnection().prepareStatement(sql1);
                                
    stat1.setString(1tNomeCliente.getText());
                                
    stat1.setString(2tNomeCliente.getText());
                                
    // stat1.setString(3, tCognomeCliente.getText());
                                
    stat1.setString(3tCittaCliente.getText());
                                
    stat1.setString(4"Attivo");

                                
    String sql2 "UPDATE anagrafica SET RagioneSociale = ?  WHERE RagioneSociale=? and Stato=?;";
                                
    java.sql.PreparedStatement stat2 Finestra.d
                                        
    .getConnection().prepareStatement(sql2);
                                
    stat2.setString(1tNomeCliente.getText());
                                
    stat2.setString(2tNomeCliente.getText());
                                
    stat2.setString(3"Attivo");

                                
    int i2 stat2.executeUpdate();
                                
    int i1 stat1.executeUpdate();
                                
    boolean avanti false;
                                if (
    st.equals("Nome *")) {
                                    if (
    i1 0)
                                        
    avanti true;
                                } else if (
    st.equals("Rag. Soc. *")) {
                                    if (
    i2 0)
                                        
    avanti true;
                                }
                                
    int ii1;
                                if (
    avanti == true) {
                                    if (
    st.equals("Rag. Soc. *")) {
                                        
    String sql "INSERT INTO chiamate (Nome, Cognome, Citta,Rag_s, Problema, OraInizio, OraFine, Durata, Data, Utente)  VALUES (?,?,?,?,?,?,?,?,?,?)";
                                        
    java.sql.PreparedStatement stat Finestra.d
                                                
    .getConnection().prepareStatement(
                                                        
    sql);
                                        
    stat.setString(1nome);
                                        
    stat.setString(2cognome);
                                        
    stat.setString(3citta);
                                        
    stat.setString(4nome);
                                        
    stat.setString(5problema);
                                        
    stat.setString(6Inizio1);
                                        
    stat.setString(7Fine1);
                                        
    stat.setString(8durata2);
                                        
    stat.setString(9data1);
                                        
    stat.setString(10tNomeUtente.getText());

                                        
    ii1 stat.executeUpdate();
                                    } else {
                                        
    String sql "INSERT INTO chiamate (Nome, Cognome, Citta,Rag_s, Problema, OraInizio, OraFine, Durata, Data, Utente)  VALUES (?,?,?,?,?,?,?,?,?,?)";
                                        
    java.sql.PreparedStatement stat Finestra.d
                                                
    .getConnection().prepareStatement(
                                                        
    sql);
                                        
    stat.setString(1nome);
                                        
    stat.setString(2cognome);
                                        
    stat.setString(3citta);
                                        
    stat.setString(4rag);
                                        
    stat.setString(5problema);
                                        
    stat.setString(6Inizio1);
                                        
    stat.setString(7Fine1);
                                        
    stat.setString(8durata2);
                                        
    stat.setString(9data1);
                                        
    stat.setString(10tNomeUtente.getText());

                                        
    ii1 stat.executeUpdate();
                                    }
                                    
    System.out.println("dopo insert");
                                    if (
    ii1 0) {
                                        
    inseriscii 0;
                                        
    nonvuoti true;
                                    }
                                    
    tNomeCliente.setEditable(false);
                                    
    tCognomeCliente.setEditable(false);
                                    
    tCittaCliente.setEditable(false);
                                    
    errore.setText("");
                                    
    String sql11 "SELECT ID From chiamate Where (Nome=? and Cognome=? and Citta=? and Problema=? and OraInizio=? and OraFine=? and Durata=? and Data=?)";
                                    
    java.sql.PreparedStatement stat11 Finestra.d
                                            
    .getConnection()
                                            .
    prepareStatement(sql11);
                                    
    stat11.setString(1nome);
                                    
    stat11.setString(2cognome);
                                    
    stat11.setString(3citta);
                                    
    stat11.setString(4problema);
                                    
    stat11.setString(5Inizio1);
                                    
    stat11.setString(6Fine1);
                                    
    stat11.setString(7durata2);
                                    
    stat11.setString(8data1);
                                    
    java.sql.ResultSet rs stat11.executeQuery();
                                    
    String codice null;
                                    while (
    rs.next())
                                        
    codice rs.getString("ID");
                                    
    System.out.println(codice);
                                    
    tid.setText(codice);
                                    
    errore.setForeground(Color.GREEN);
                                    
    bottone1.setEnabled(true);
                                    
    JOptionPane.showMessageDialog(null,
                                            
    "Telefonata Inserita Correttamente!\nID Chiamata: "
                                                    
    tid.getText(), "Telefonata",
                                            
    JOptionPane.DEFAULT_OPTION);

                                    
    eliminaa 1;
                                    
    // errore.setText("Telefonata inserita correttamente");
                                    // salvaa.setVisible(true);
                                    // bottone.setVisible(false);
                                    // bottone.setBounds(91, 5+200, 0, 0);
                                    // Finestra.d.getConnection().commit();
                                
    } else {

                                    
    errore.setForeground(Color.red);
                                    
    errore.setText("Cliente inesistente!");
                                }
                            } else if (
    st.equals("Nome *")
                                    && (
    tNomeCliente.getText().length() == 0
                                            
    || tCittaCliente.getText().length() == 0
                                            
    || tCognomeCliente.getText().length() == || tproblema
                                            
    .getText().length() == 0)&& nonvuoti==false) {
                                
    errore.setForeground(Color.RED);
                                
    errore.setText("Alcuni campi obbligatori sono vuoti!");
                            } else if (
    st.equals("Rag. Soc. *")&&( tproblema.getText().length() == || tNomeCliente.getText().length()==0) && nonvuoti==false) {
                                
    errore.setForeground(Color.RED);
                                
    errore.setText("Alcuni campi obbligatori sono vuoti!");
                                
    System.out.println("Questo:"+tproblema.getText());
                            } else if (
    telefonata == 1&& nonvuoti==false) {
                                
    errore.setForeground(Color.RED);
                                
    errore.setText("Terminare la telefonata prima di registrarla!");
                            } else if (
    telefonata == 3&& nonvuoti==false) {
                                
    errore.setForeground(Color.RED);
                                
    errore.setText("Non è stata effettuata nessuna telefonata!");
                            }
                        } catch (
    Exception e1) {
                            
    errore.setForeground(Color.RED);
                            
    errore.setText("Telefonata non registrata correttamente");
                            
    e1.printStackTrace();
                            
    Integer lung tNomeCliente.getText().length();
                            
    System.out.println(lung);
                        }
                    }
                    if (
    nonvuoti == true){
                        
    reset();
                    
    reset();}

                }
            });
            
    salvaa.addActionListener(new ActionListener() {
                
                @
    Override
                
    public void actionPerformed(ActionEvent arg0) {
                    
                    
    // TODO Auto-generated method stub
                    
    String nome tNomeCliente.getText();
                    
    String cognome tCognomeCliente.getText();
                    
    String citta tCittaCliente.getText();
                    
    String problema tproblema.getText();
                    
    String Inizio1 ora_inizio.getText();
                    
    String Fine1 ora_fine.getText();
                    
    String durata2 durata.getText();
                    
    String data1 tdata.getText();
                    
    System.out.println(mod);
                    
    System.out.println(tproblema.getText());
                    
    String utente tNomeUtente.getText().toUpperCase();
                        if (
    tproblema.getText().length() == && mod == 0) {
                            
    errore.setForeground(Color.RED);
                            
    errore.setText("Alcuni camp1i obbligatori sono vuoti!");
                        } else {
                            try {
                                
    int i 1;
                                try {
                                    
    errore.setText("");
                                    
    String sql1 "UPDATE accounts SET Logged = 'ON'  WHERE Utente='"
                                            
    tNomeUtente.getText()
                                            + 
    "' and Password='"
                                            
    tPasswd.getText()
                                            + 
    "' and Stato='Attivo' and Logged='ON';";
                                    
    java.sql.Statement stat Finestra.d
                                            
    .getConnection().createStatement();
                                    
    stat.executeUpdate(sql1);
                                    if (
    0) {
                                        
    System.out.print("si");
                                    } else {
                                        
    System.out.print("no");

                                    }
                                } catch (
    Exception e2) {
                                    
    errore.setText("Problema collegamento al Database!");
                                    
    errore.setForeground(Color.red);
                                }
                                
    BufferedReader fr = new BufferedReader(
                                        new 
    FileReader("account.txt"));
                                
    String ss1;
                                
    fr.readLine();
                                
    s1 fr.readLine();
                                
    fr.close();
                                
    java.sql.Statement stat Finestra.d
                                        
    .getConnection().createStatement();
                                
    String sql "SELECT Utente From accounts WHERE Stato='Attivo' and Logged='ON' and Gruppo='Admin'";
                                
    java.sql.ResultSet rs stat.executeQuery(sql);
                                
    String admin null;
                                
    int trovato 0;
                                while (
    rs.next()) {
                                    
    admin rs.getString("Utente");
                                    if (
    admin.equals(s))
                                        
    trovato 1;
                                }
                                
    java.sql.Statement stat1 Finestra.d
                                        
    .getConnection().createStatement();
                                
    String sql1 "SELECT Utente From chiamate WHERE ID='"
                                        
    tid.getText() + "'";
                                
    java.sql.ResultSet rs1 stat1.executeQuery(sql1);
                                
    String utt null;
                                while (
    rs1.next()) {
                                    
    utt rs1.getString("Utente");
                                }
                                if (
    && tNomeUtente.getText().equals(s)
                                        && 
    tPasswd.getText().equals(s1)) {
                                    if (
    utt.equals(s) || trovato == 1) {
                                        
    String sqll "UPDATE chiamate SET Nome=?, Cognome=?,Problema=?,Citta=?,OraInizio=?,OraFine=?,Durata=?, Data=? WHERE ID='"
                                                
    tid.getText() + "'";

                                        
    java.sql.PreparedStatement stats Finestra.d
                                                
    .getConnection().prepareStatement(
                                                        
    sqll);
                                        
    stats.setString(1nome);
                                        
    stats.setString(2cognome);
                                        
    stats.setString(3problema);
                                        
    stats.setString(4citta);
                                        
    stats.setString(5Inizio1);
                                        
    stats.setString(6Fine1);
                                        
    stats.setString(7durata2);
                                        
    stats.setString(8data1);
                                        
    int ii stats.executeUpdate();
                                        
    System.out.println("qui ci arriva");

                                        if (
    ii 0) {
                                            
    bottone1.setEnabled(true);
                                            
    // Finestra.d.getConnection().commit();
                                            
    errore.setForeground(Color.green);
                                            
    JOptionPane
                                                    
    .showMessageDialog(
                                                            
    null,
                                                            
    "Telefonata Modificata Correttamente!",
                                                            
    "Telefonata",
                                                            
    JOptionPane.DEFAULT_OPTION);
                                            
    mod 1;
                                            
    temp += 1;
                                        }
                                    } else {
                                        
    errore.setText("Nome Utente o Password errati");
                                        
    errore.setForeground(Color.red);
                                    }
                                } else {
                                    
    errore.setText("Non hai effettuato tu la chiamata e non sei amministratore");
                                    
    errore.setForeground(Color.red);
                                }
                            } catch (
    Exception eee) {
                                
    errore.setText("Telefonata non modificata correttamente");
                                
    errore.setForeground(Color.red);
                            }
                        }
                        if (
    mod == 1)
                            
    reset();
                        
    mod 0;
                    
                }
            }); 
    il codice è un po' sporco...ma quello che deve fare lo fa
    Il problema si verifica quando viene premuto il bottone salvaa

  7. #7
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Senza guardare il codice in genere il tuo è un problema che si verifica quando associ lo stesso listenere a più pulsanti...

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    sarebbe anche opportuno che quel popo di codice che fai dentro l'azione venisse messo in un metodo a parte (giusto per aumentare la leggibilità e la riusabilità). E' anche un modo per eliminare dal punto in cui gestisci la grafica tutte le istruzioni non direttamente pertinenti (banalmente avrai es. un controllore al quale richiederai salva passando gli opportuni parametri)
    RTFM Read That F*** Manual!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    6
    grazie dei consigli... ma l'evento associato è diverso...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    6
    Ciao ragazzi, visto che la classe in cui c'era quel problema era formata da migliaia di righe di codice e non riuscivo a controllare tutto e cercare l'evento uguale , ho fatto una prova, ho messo il codice relativo all'azione dei bottoni nella classe principale e così funziona, quindi probabilmente aveva ragione Dark867.
    grazie di tutto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.