[Java] Problema evento

Discussione in 'Java' iniziata da tonino1, 26 Gennaio 2009.

  1. tonino1

    tonino1 Utente Attivo

    Registrato:
    1 Gennaio 2009
    Messaggi:
    58
    Mi Piace Ricevuti:
    3
    Punteggio:
    0
    Non riesco a capire perchè nella mia applicazione non funziona
    l'evento di una textfield,eppure ho inserito quello che c'era da
    inserire.Vi posto il sorgente per maggiore chiarezza.Grazie mille per
    l'eventuale aiuto!

    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;

    public class sommario extends Applet implements ActionListener {

    public void init() {

    TextField red1=new TextField();
    TextField green1=new TextField();
    TextField blue1=new TextField();
    TextField yellow1=new TextField();
    TextField ciano1=new TextField();
    TextField white1=new TextField();
    char strcolor=0;
    char red,green,blue,yellow,ciano,white;
    Color c;
    Label label0;

    setLayout(new GridLayout(7,1,10,10));
    add(new Label("ID"));
    add(new Label("Color"));
    add(new Label("Change"));
    add(label0=new Label("0"));
    add(red1);
    add(new Label("change"));
    add(new Label("2"));
    add(green1);
    add(new Label("change"));
    add(new Label("3"));
    add(blue1);
    add(new Label("change"));
    add(new Label("4"));
    add(yellow1);
    add(new Label("change"));
    add(new Label("5"));
    add(ciano1);
    add(new Label("change"));
    add(new Label("6"));
    add(white1);
    add(new Label("change"));

    red1.addActionListener(this);
    green1.addActionListener(this);

    switch( strcolor){
    case 1:
    c= new Color(255,0,0);
    red1.setBackground(c);
    red1.setText("red");
    break;
    case 2:
    c= new Color(0,255,0);
    green1.setText("green");
    break;
    case 3:
    c= new Color(0,0,255);
    blue1.setText("blue");
    break;
    case 4:
    c= new Color(255,0,0);
    yellow1.setText("Yellow");
    break;
    case 5:
    c= new Color(255,255,0);
    ciano1.setText("ciano");
    break;
    case 6:
    c= new Color(255,255,255);
    white1.setText("white");
    break;
    }

    }

    public void actionPerformed(ActionEvent evt) {

    if (evt.getSource() instanceof TextField)
    setForeground(Color.red);
    repaint();

    }


    }
     
    A ottofonsuppost piace questo elemento.
  2. ottofonsuppost

    ottofonsuppost Utente Attivo

    Registrato:
    10 Maggio 2016
    Messaggi:
    170
    Mi Piace Ricevuti:
    13
    Punteggio:
    18
    Per "ascoltare" eventi di TIPO TEXTEVENT occorre implementare l'interfaccia TextListener e occorre ridefinire il metodo TextValueChanged(TextEvent e) che deve essere invocato/chiamato ogni volta che il testo viene modificato.

    Per "ascoltare" eventi di TIPO TEXTEVENT occorre implementare l'interfaccia TextListener e occorre ridefinire il metodo TextValueChanged(TextEvent e) che corrisponde alla costante: TEXT_VALUE_CHANGED, che deve essere invocato/chiamato ogni volta che il testo viene modificato.

    TextEvent (Object source, int id)
    il costruttore TextEvent() della classe genera un evento di tipo id per il componente source.
    TextListener è l'interfaccia che elabora gli eventi, grazie al metodo textValueChanged().

    void textValueChanged (TextEvent e) il metodo textValueChanged si utilizza per implementare la risposta dell'applicazione agli eventi di tipo TextEvent.

    //creo 3 ascoltatori chiamati ascTX
    private AscActionListener [] ascTx = new AscActionListener [3];

    ascTx[3] = new AscActionListener();

    txt[3].addActionListener (ascTx[3]);
    add (txt[3]);

    Se ho creato 3 campi testuali, ogni campo dovrò dotarlo di un ascolatatore ascTx
     
    Ultima modifica: 20 Giugno 2016
Sto caricando...

Condividi questa Pagina