PDA

Visualizza la versione completa : [java] JComboBox e MouseEvent


dekdek
26-02-2005, 17:07
Ho notato che questo componente non genere eventi al passare del mouse. Ce l'ha con me o e' proprio cosi'?
Dando per scontata la seconda ipotesi, soluzioni?

Questo e' il codice minimale che ho estratto dal mio programma (con le dovute modifiche dove servivano altre classi) per testare 'sta cosa...

Tnx in anticipo...




import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Lotto extends JFrame {

private String stato;
Container finestra;
JComboBox risultati;

public Lotto() {
super("Prova di sto cavolo di Combo Box");

stato = "Pronto."; //Messaggio nella barra di stato quando non ci sono Tooltips
String stringhe [] = {"Uno","Due","Tre"};
finestra = getContentPane();
finestra.setLayout( new FlowLayout() );
risultati = new JComboBox(stringhe);
risultati.addMouseListener(new Tooltips("Scegli quali risultati visualizzare"));
finestra.add(risultati, BorderLayout.CENTER);
}

public static void main(String args[]) {
JFrame a;
Lotto lotto = new Lotto();
lotto.setSize(100,100);
lotto.setVisible(true);
lotto.setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void setStato(String s) {
stato = s;
}

// Classe interna per la gestione degli eventi

public class Tooltips extends MouseAdapter {

String testo;

public Tooltips(String tip) {
testo=tip;
}

public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
setTitle("Entered");
}

public void mouseExited(MouseEvent e) {
super.mouseExited(e);
setTitle("Exited");
}
}
}

dekdek
27-02-2005, 00:31
Mi sono accorto che c'era una dichiarazione di troppo... Nel main il JFrame a, ovviamente non serve a nulla.
Cmq cio' non cambia i termini del problema...

netarrow
27-02-2005, 15:33
a me funziona.
Appena passo sull'elemento selezionato(quello in alto vicino la freccia, non su gli elementi che vengono fuori in gių), nel titolo viene scritto Entered, se esco Exit.

:ciauz:

netarrow
27-02-2005, 15:38
cmq se il tuo scopo č fare un ToolTip, basta usare il metodo setToolTipText:



risultati.setToolTipText("Scegli quali risultati visualizzare");

:ciauz:

dekdek
27-02-2005, 19:54
Ora funziona anche a me.
Ho installato la SDK 1.5.0 su consiglio di un amico...
Mi sta creando altri grattacapi, tipo che non ridipinge le finestre quando le ridimensiono, ma per ora mi dedico ad altro!

P.S. Non ho scopi, per ora, sto solo imparando...

P.P.S. Grazie!!! :)

Loading