Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA]informazioni sulla vecchia classe java.awt.event

    inanzitutto premetto che so' gia' che esiste
    un metodo nuovo per gestire gli Eventi ,
    in rete non riesco a trovare materiale esemplificativo
    su come usare il vecchio metodo, che mi serve assolutamente
    imparare..
    se avete Link o sapete spiegarmi bene come funziona ve ne sarei
    infinitamente grato.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Cosa ti serve in particolare riguardo gli eventi delle awt?
    Per esempio, devi intercettare l'evento della pressione di un pulsante, oppure qualcos'altro?
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    mi serve capire come implentarli, basta un qualsiasi esempio
    tipo KEY_PRESSED O 201(WINDOW_DESTROY)

    perche' non e' spiegato da nessuna parte un esempio
    di implementazione.

  4. #4
    Puoi partire con il java tutorial sulla gestione degli eventi :

    http://java.sun.com/docs/books/tutor...nts/index.html

    Se ci sono dubbi, sono disponibilissimo a fornire esempi e/o spiegazioni.
    S.O. : Ubuntu 5.04
    Lang : J2*E,PHP,tcl/tk

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Prova a dare un'occhiata a questo codice che ho scritto.
    Per qualsiasi chiarimento, sono a disposizione.

    Ti dico prima cosa fa: apre una finestra, se digiti sulla tastiera, vedi apparire al centro della finestra i caratteri che hai digitato (tranne il BackSpace e altri caratteri speciali, che non ho gestito).
    Se premi sul pulsantino di chiusura della finestra, questa (sorprendentemente!) si chiude :gren:

    Ciao.

    Lele

    codice:
    import java.awt.*;
    import java.awt.event.*;
    
    public class Finestrella extends Frame implements KeyListener {
    
       private Label lblTesto;
       private final int WIDTH = 300;
       private final int HEIGHT = 300;
    
       private class QuitListener implements WindowListener {
          public void windowClosing(WindowEvent we) { System.exit(0); }
    
          // I seguenti metodi non mi servono, ma devo implementarli (vuoti)
          public void windowResized(WindowEvent we) {}
          public void windowOpened(WindowEvent we) {}
          public void windowIconified(WindowEvent we) {}
          public void windowDeiconified(WindowEvent we) {}
          public void windowClosed(WindowEvent we) {}
          public void windowActivated(WindowEvent we) {}
          public void windowDeactivated(WindowEvent we) {}
       }
    
       public Finestrella() {
          setLayout(null);
          lblTesto = new Label();
          lblTesto.setBounds(0, 100, WIDTH, 30);
          lblTesto.setBackground(Color.cyan);
          add(lblTesto);
          addKeyListener(this);
          addWindowListener(new QuitListener() );
          setSize(WIDTH, HEIGHT);
          setVisible(true);
       }
    
       public void keyTyped(KeyEvent ke) {
          lblTesto.setText( lblTesto.getText()+ke.getKeyChar() );
       }
    
       public void keyPressed(KeyEvent ke) {}    // Implementato vuoto (necessario per KeyListener)
       public void keyReleased(KeyEvent ke) {}   // Implementato vuoto (necessario per KeyListener)
    
       public static void main(String [] args) {
          Finestrella fn = new Finestrella();
       }
    }
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    E per fare un passo avanti rispetto a quanto suggerito sopra puoi considerare che :

    Le classi Adapter sono una implementazione vuota dei vari metodi delle interfacce Listener (come hai fatto tu con QuitListener).

    Quindi si puo' usare :

    codice:
    private class QuitListener extends WindowAdapter {
    public void windowClosing(WindowEvent we) { System.exit(0); }
    }
    Inoltre, una cosa molto comoda e' utilizzare le classi anonime, per evitare di dover avere diverse classi (o file java) per ogni evento da gestire.

    Ad esempio, al posto di
    codice:
    private class QuitListener {
    ...
    }
    addWindowListener(new QuitListener() );
    puoi fare

    codice:
    addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent we) { System.exit(0); }
    });
    S.O. : Ubuntu 5.04
    Lang : J2*E,PHP,tcl/tk

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.