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

    [java] limitazioni caratteri nel JTextField

    Ciao a tutti, ho un piccolo problema:

    vorrei limitare i caratteri all'interno di un JTextField (che è diverso da TexField) cioè vorrei che all'interno della mia casella di testo al massimo posso scrivere ad esempio 2 carattari.

    quando creo l'oggetto con

    JTextField miaT=new JTextField(2);

    lui mi setta solo le dimenzioni della casella, ma all'interno posso scrivere quanti carateri voglio

    setColumns(int columns) ;
    fa la stessa cosa, non limita niente......

    come posso fare?

    grazie!!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Java viene trattato nell'apposito sub-forum.

    Ti sposto.


    Ciao.
    "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
    devi ridefinire il Document associato al tuo JTextField creandone uno tuo personalizzato. Ad esempio ti crei una classe LimitDocument che estende PlainDocument. Ridefinisci il metodo insertString(int offset, String s, AttributeSet a) il quale viene richiamato automaticamente ogni qualvolta si inserisce qualcosa nel JTextField associato. questo metodo riceve 3 parametri:

    offset - la lunghezza attuale del contenuto del JTextField
    s - la stringa che si sta tentando di inserire
    a - gli attributi per il contenuto inserito

    Ciò che a te serve sono soltanto i primi due. Fai il controllo se offset+s.length() non superi il limite che vuoi, se non lo supera richiami il metodo insertString(offset,s,a) della classe madre (PlainDocument).

    Una volta definito il Document ti basta associarlo al tuo JTextField con tuoJTextField.setDocument(tuoLimitDocument)

    Al mio segnale... scatenate l'inferno!

  4. #4
    ciao

    grazie per il tuo aiuto, ora provo...
    ma non hai del codice da postare?

    grazie


  5. #5
    Originariamente inviato da darietto83
    ciao

    grazie per il tuo aiuto, ora provo...
    ma non hai del codice da postare?

    grazie

    Si...ce l'ho... ma prova prima a tirare tu giù qualcosa. In caso di bisogno poi si vede...
    Al mio segnale... scatenate l'inferno!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    655
    ciao scusami l'intrusio , ma io ho definito un JtextField proprio come hai fatto tu,ovvero

    private JTextField boxIndirizzo;
    boxIndirizzo = new JTextField();
    boxIndirizzo.setEditable(true);
    boxIndirizzo.setEnabled(true);

    ma quando lancio l'applicazione non mi permette di inserire nessuna stringa all'interno.

    dove sbaglio?

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.