Visualizzazione dei risultati da 1 a 5 su 5

Discussione: MouseListener

  1. #1

    MouseListener

    Salve ,

    ho un problema con 2 JTextField...

    praticamente ho queste 2 JtextField con dentro impostato un testo che fa da guida...
    quando ci clikko dentro con il mouse mi si cancella il testo in entrambe le JTextField fin quà tutto perfetto....il problema e che quando scrivo nella prima e poi clikko nella seconda mi risparisce il testo nella prima come posso fare ???

    Vi incollo il codice...
    ---------------------------------------------------------------------------------------
    import java.awt.*;
    import java.awt.Color;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.JLabel;
    import javax.swing.UIManager;
    import java.util.*;
    import java.io.*;
    import java.sql.*;

    class XXXXX extends JFrame implements MouseListener{

    .........

    JTextField t3=new JTextField(20);
    JTextField t4=new JTextField(20);

    };

    public void build(){

    c.add(t3);
    t3.setBackground(Color.BLACK);
    t3.setForeground(Color.WHITE);
    t3.setFont(f);
    t3.addMouseListener(this);

    c.add(t4);
    t4.setBackground(Color.BLACK);
    t4.setForeground(Color.WHITE);
    t4.setFont(f);
    t4.addMouseListener(this);

    }

    public void cerca(String nome, String cognome){

    t4.setText("Digitare qui il nome da cercare...");
    t3.setText("Digitare qui il cognome da cercare...");
    b3.setEnabled(cliccato);

    }

    public void mouseClicked(MouseEvent e) {

    t3.setText("");

    t4.setText("");

    Qui come posso fare ???






    }

    Ringraziamenti anticipati...

    Gaetano.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: MouseListener

    Originariamente inviato da spiritoserio
    quando ci clikko dentro con il mouse mi si cancella il testo in entrambe le JTextField fin quà tutto perfetto....il problema e che quando scrivo nella prima e poi clikko nella seconda mi risparisce il testo nella prima come posso fare ???
    Mah ... qui il problema mi sembra che sia quello di capire cosa vuoi fare di preciso. Le due affermazioni che hai fatto le vedo un po' in contrasto: dici che se clicchi su una ti cancella entrambe e ti va bene mentre dopo dici che se clicchi sull'altra ti cancella entrambe ma non ti va bene.

    Puoi cancellare entrambe indistintamente da quale ha ricevuto il click oppure puoi cancellare solo quella che ha ricevuto il click. Per quest'ultimo caso puoi sapere quale è il componente "sorgente" dell'evento usando getSource() di MouseEvent.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ciao ,

    grazie per la risposta...

    Mi spiego meglio...

    Al primo click mi si autocancellano entrambe e mi sta bene ma quando inserisco il testo nella prima JtextField e clikko sulla seconda per inserire il testo mi si ricancella la prima e qui non mi sta bene il testo dopo che lo digito deve rimanere altrimenti avrei le textaree sempre in bianco....non so se mi spiego...
    comunque mi potresti fare qualche esempio di "getSource" ??

    Grazie.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da spiritoserio
    Al primo click mi si autocancellano entrambe e mi sta bene ma quando inserisco il testo nella prima JtextField e clikko sulla seconda per inserire il testo mi si ricancella la prima e qui non mi sta bene il testo dopo che lo digito deve rimanere altrimenti avrei le textaree sempre in bianco....non so se mi spiego...
    Puoi fare così: se clicchi sulla prima si cancellano entrambe, se clicchi sulla seconda si cancella solo la seconda.

    Tradotto in codice:
    codice:
    public void mouseClicked(MouseEvent e)
    {
        Object src = e.getSource ();
    
        if (src == t3)
            t3.setText ("");
    
        t4.setText ("");
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Grazie 1000 per la tua immensa disponibilità!!!

    Ho sistemato il tutto grazie al tuo consiglio su "getsource()"

    infatti ho sistemato cosi...

    codice:
     
    public void mouseClicked(MouseEvent e) {
            
    
    if (e.getSource() == t3) {
            t3.setText("");
    }
    
    if(e.getSource() == t4)  {
                t4.setText("");
    }
    un po' diversa dal tuo cioè se clikko sulla prima si cancella la prima soltanto e se clikko sulla seconda si cancella la seconda....

    Non so come ringraziarti....

    cordiali saluti.

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.