Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [Java] Lunghezza TextField

    Ciao a tutti!
    Qualcuno mi sa dire se c'è un modo per dare una lunghezza fissa di caratteri inseribili in un TextField?
    Un pò come "maxlength" in html.

    Grazie per gli eventuali aiuti.

    pgm

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    credo che il modo più veloce sia aggiungere un KeyListener e fare il controllo dentro un metodo :master:

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    ma non è possibile farlo nel momento in cui si crea TextFiled?
    Es.
    TextField testo = new TextField(30); ???

    Pgm

  4. #4
    ti sei già risposto ....
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  5. #5
    no!
    O lo controlli alla fine oppure dovresti fare una cosa del genere solo che non funziona con il TextField! è solo un idea!cmq funziona con una textarea


    //Codice:
    //s1 e s2 =JTextArea


    public void textValueChanged(TextEvent e){
    Object source = e.getSource();
    // System.out.println("Premuto un tasto su"+source);
    if ((source==s1)||(source==s2)) {
    try{
    s1.setText(s1.getText().substring(0,1));
    s2.setText(s2.getText().substring(0,1));
    }catch(StringIndexOutOfBoundsException ex){}
    }
    }


    per i textField dovresti cambiare l'evento ma non so proprio come fare!!!
    Blink@go

    "Non tutto quel che è oro brilla, Ne gli erranti sono perduti; Il vecchio ch'è forte non s'aggrinza, Le radici profonde non gelano.Dalle ceneri rinascerà un fuoco, L'ombra sprigionerà una scintilla, Nuova sarà la lama ormai rotta, E re quei ch'è senza corona."

    ------------
    Lang: java 1.4.1 Eclipse

  6. #6
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Così non funziona però! Infatti avevo già provato. Se metto tra parentesi "..new TextField(20)", riesco a scrivere più di 20 caratteri; io vorrei che si fermassero a 20.

    pgm

  7. #7
    Ti conviene controllarlo alla fine e basta!
    Altrimenti prova col keyListener!
    Blink@go

    "Non tutto quel che è oro brilla, Ne gli erranti sono perduti; Il vecchio ch'è forte non s'aggrinza, Le radici profonde non gelano.Dalle ceneri rinascerà un fuoco, L'ombra sprigionerà una scintilla, Nuova sarà la lama ormai rotta, E re quei ch'è senza corona."

    ------------
    Lang: java 1.4.1 Eclipse

  8. #8
    Così va un po' meglio!



    KeyListener k = new KeyAdapter() {
    public void keyTyped(KeyEvent e) {
    Object source = e.getSource();
    System.out.println("Premuto un tasto su" + source);
    if ((source == s1) || (source == s2)) {
    try {
    s1.setText(s1.getText().substring(0, 5));
    s2.setText(s2.getText().substring(0, 5));
    } catch (StringIndexOutOfBoundsException ex) {
    }
    }
    }
    };


    nemmeno di tanto perchè almeno funziona ma aggiunge in fondo alla stringa l'ultimo carattere digitato, sempre nella stessa posizione!

    Nota devi aggiungerlo così:

    s1.addKeyListener(k);
    s2.addKeyListener(k);


    Modificalo se riesci!
    Blink@go

    "Non tutto quel che è oro brilla, Ne gli erranti sono perduti; Il vecchio ch'è forte non s'aggrinza, Le radici profonde non gelano.Dalle ceneri rinascerà un fuoco, L'ombra sprigionerà una scintilla, Nuova sarà la lama ormai rotta, E re quei ch'è senza corona."

    ------------
    Lang: java 1.4.1 Eclipse

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 © 2024 vBulletin Solutions, Inc. All rights reserved.