Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206

    [JAVA]Swing: evento StateChanged

    Ave populus
    ho due JSpinner, su uno cambio il valore, e il secondo prende il valore del primo, per cui ho scritto questo:
    codice:
    import java.sql.*;
    import java.util.*;
    import java.io.*;
    
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    
    public class contabilita extends JFrame implements ChangeListener {
    ...
       public void StateChanged(ChangeEvent e) {
          spn_inTot.setValue(spn_in1.getValue().toString());
       }
    
       ...
       numModel = new SpinnerNumberModel(0.00, 0.00, 1000000.00, 0.01);  
       spn_in1 = new JSpinner();
       spn_in1.setModel(numModel);
       spn_in1.setBounds(105,5,100,20);
       spn_in1.addChangeListener(this);
       spn_in1.setEditor(new JSpinner.NumberEditor(spn_in1, "€    ###,##0.00"));              
       pnl_in.add(spn_in1);
    
       numModel = new SpinnerNumberModel(0.00, 0.00, 1000000.00, 0.01);  
       spn_inTot = new JSpinner();
       spn_inTot.setModel(numModel);
       spn_inTot.setBounds(105,140,100,20);
       spn_inTot.setEditor(new JSpinner.NumberEditor(spn_inTot, "€ ###,##0.00"));              
       pnl_in.add(spn_inTot);
       ...
    
    }
    ma dice:
    contabilita.java:10: contabilita is not abstract and does not override abstract method stateChanged(javax.swing.event.ChangeEvent) in javax.swing.event.ChangeListener
    public class contabilita extends JFrame implements ChangeListener {
    ^
    1 error

    Terminated with exit code 1

  2. #2
    forse la definizione del metodo StateChanged nella tua classe dovrebbe essere scritto come stateChanged: Java è Key Sensitive

  3. #3
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da eumene
    forse la definizione del metodo StateChanged nella tua classe dovrebbe essere scritto come stateChanged: Java è Key Sensitive
    ops, e il bello è che sapevo che è case sensitive

    cmq, mettendo la minuscola, l'applicazione parte, ma se provo a incrementare (o decrementare) lo spinner, dà tantissimi errori tipo:
    ...
    at javax.swing.JSpinner$DefaultEditor.propertyChange( Unknown Source)
    at java.beans.PropertyChangeSupport.firePropertyChang e(Unknown Source)
    at java.beans.PropertyChangeSupport.firePropertyChang e(Unknown Source)
    ...
    come mai???

  4. #4
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da Aki
    cmq, mettendo la minuscola, l'applicazione parte, ma se provo a incrementare (o decrementare) lo spinner, dà tantissimi errori tipo:

    ...
    at javax.swing.JSpinner$DefaultEditor.propertyChange( Unknown Source)
    at java.beans.PropertyChangeSupport.firePropertyChang e(Unknown Source)
    at java.beans.PropertyChangeSupport.firePropertyChang e(Unknown Source)
    ...
    come mai???

  5. #5
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    adesso è a posto (ho messo un metodo di troppo)
    cmq lo stateChanged fà questo: spn_inTot.setValue(spn_in1.getValue()); che effettivamente visualizza il totale, ma se ne avessi 2 o più e volessi sommarli?
    spn_in1.getValue() è di tipo object e quindi con + non posso sommarlo, e se provo a convertirlo in int dice tipo non convertibile;
    quindi come faccio?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    4
    Originariamente inviato da Aki
    adesso è a posto (ho messo un metodo di troppo)
    cmq lo stateChanged fà questo: spn_inTot.setValue(spn_in1.getValue()); che effettivamente visualizza il totale, ma se ne avessi 2 o più e volessi sommarli?
    spn_in1.getValue() è di tipo object e quindi con + non posso sommarlo, e se provo a convertirlo in int dice tipo non convertibile;
    quindi come faccio?
    forse avrai già risolto, ma in caso contrario puoi puoi provare a fare spn_in1.getValue().hashCode() oppure usi l'istanza di SpinnerNumberModel e fai istanza.getNumber().intValue() o .floatValue() a seconda di quello che ti serve.

    vediamo se invece tu riesci a risolvere il mio problema. se cambio l'editor ad uno spinner mi cambia il carattere con cui viene visualizzato... sai mica come fare a cambiarlo?

  7. #7
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da AciXXX
    ...
    vediamo se invece tu riesci a risolvere il mio problema. se cambio l'editor ad uno spinner mi cambia il carattere con cui viene visualizzato... sai mica come fare a cambiarlo?
    grassie x la risposta

    cosa vuol dire che il carattere cambia?
    cambia il font? la dimensione? o semplicemente il simbolo alfanumerico?
    e cmq come cambia?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    4
    nell'immagine qua sotto c'è quello che mi succede.



    allo spinner di destra ho cambiato l'editor (xké mi visualizzava il . di separazione x le migliaia -> 2.005 invece che 2005), all'altro no.
    cmq direi che cambia il font.
    io ho win2k, non so se succede anche in linux o xp

  9. #9
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da AciXXX
    nell'immagine qua sotto c'è quello che mi succede.



    allo spinner di destra ho cambiato l'editor (xké mi visualizzava il . di separazione x le migliaia -> 2.005 invece che 2005), all'altro no.
    cmq direi che cambia il font.
    io ho win2k, non so se succede anche in linux o xp
    io ho fatto così:
    spinner.setEditor(new JSpinner.NumberEditor(spinner, "#,##0"));
    per gli spinner con formato 2.005

    oppure

    spinner.setEditor(new JSpinner.NumberEditor(spinner, "#0"));
    per gli spinner con formato 2005

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    4
    sì, anche io qualcosa di simile e quando lo setto mi cambia il font. vabbé amen

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.