vi posto un po di codice magari avete idee migliori...
Codice: Seleziona tutto
import java.io.*;
import java.lang.*;
import java.util.*;
import java.io.File; // Gestione defi files
import java.io.FileOutputStream; // Flusso in uscita
import java.io.IOException; // Errori di I/O
import java.io.PrintStream; // Flusso per la stampa
import java.util.Iterator; // Strumento per la scanione di liste
import java.util.List; // Lista di oggetti
import org.jdom.Document; // Documento XML
import org.jdom.Element; // Singolo elemento XML
import org.jdom.JDOMException; // Errori sulla gestione XML
import org.jdom.input.SAXBuilder; // Costruttore di documenti XML
import org.jdom.output.XMLOutputter; // Scrittore di documenti XML
import org.jdom.output.Format; // Formato
import java.awt.event.*;
import java.awt.*;
class Ascolta extends Frame {
// Dichiarazioni degli oggetti grafici
private Button b1 = new Button("Bottone1");
private Button b2 = new Button("Visualizza Dialog");
private Button b3 = new Button("Esci");
private Button b4 = new Button("Chiudi Dialog");
private Choice l1 = new Choice();
private TextField TF1 = new TextField(15);
private Dialog D;
// Dichiarazioni dei gestori degli eventi
private AscoltaActionListener aal;
private AscoltaItemListener ail;
private AscoltaWindowListener awl;
private AscoltaWindowListenerDialog awld;
private AscoltaMouseListener aml;
private AscoltaKeyListener akl;
// Costruttore
public Ascolta() {
setTitle("Frame, esempio ascoltatori eventi");
setLocation(200, 200);
setLayout(new GridLayout(5, 1));
add(b1);
add(b2);
add(b3);
add(l1);
add(TF1);
D = new Dialog(this, true);
D.setSize(200, 100);
D.setLocation(200, 100);
D.add(b4, BorderLayout.SOUTH);
D.setTitle("Dialog - modale");
preparaD(false);
l1.add("Scelta 1");
l1.add("Scelta 2");
l1.add("Scelta 3");
// Inizializzazione dei gestori di eventi
aal = new AscoltaActionListener(D, b2, b4, awld, TF1);
ail = new AscoltaItemListener();
awl = new AscoltaWindowListener();
awld = new AscoltaWindowListenerDialog(D, aal, b2, b4, awld);
aml = new AscoltaMouseListener();
akl = new AscoltaKeyListener();
b1.addActionListener(aal);
b2.addActionListener(aal);
b3.addActionListener(aal);
TF1.addActionListener(aal);
l1.addItemListener(ail);
addWindowListener(awl);
addMouseListener(aml);
b1.addMouseListener(aml);
b2.addMouseListener(aml);
b3.addMouseListener(aml);
b4.addMouseListener(aml);
l1.addMouseListener(aml);
TF1.addMouseListener(aml);
TF1.addTextListener(new TextListener() { // esempio di inner class
public void textValueChanged(TextEvent e) {
System.out.println("TextListener: cambiato valore della TextField");
}
}
);
D.addMouseListener(aml);
addKeyListener(akl);
b1.addKeyListener(akl);
b2.addKeyListener(akl);
b3.addKeyListener(akl);
b4.addKeyListener(akl);
l1.addKeyListener(akl);
TF1.addKeyListener(akl);
D.addKeyListener(akl);
pack();
show();
}
void preparaD(boolean m) {
D.setModal(m);
}
// Nel metodo main bisogna solo creare un oggeto, in questo caso del
// tipo medesimo "Ascolta".
public static void main(String[] s){
System.out.println("Ascolto gli eventi.");
new Ascolta();
Rubrica r = new Rubrica();
r.leggi();
}
}
