Inserire una stringa in un jTextField

di Anonimizzato19274 il
6 risposte
Salve, vorrei inserire una stringa in un jTextField che non sia modificabile dall'utente. Però l'utente può scrivere altro.
Usando setText("Stringa") e setEditable(false) la stringa non è modificabile ma non si può neanche aggiungere altro. Suggerimenti?

6 Risposte

  • Ciao!

    se il tuo scopo finale è avere sempre "PARTE_FISSA" + "PARTE_UTENTE" potresti anche pensare di aggiungere PARTE_FISSA dopo aver elaborato ciò che ha scritto l'utente.
    ad esempio, se devi inviare la stringia a qualche parte del programma potresti fare:
    
    String fissa = "PARTE_FISSA";
    String utente = field.getText();
    String finale = fissa + utente;
    // ELABORA finale
    
  • fermat ha scritto:


    ciao!

    se il tuo scopo finale è avere sempre "PARTE_FISSA" + "PARTE_UTENTE" potresti anche pensare di aggiungere PARTE_FISSA dopo aver elaborato ciò che ha scritto l'utente.
    ad esempio, se devi inviare la stringia a qualche parte del programma potresti fare:
    
    String fissa = "PARTE_FISSA";
    String utente = field.getText();
    String finale = fissa + utente;
    // ELABORA finale
    
    la stringa deve essere visualizzata dall'utente nel jtextfield..
  • franke992 ha scritto:


    Salve, vorrei inserire una stringa in un jTextField che non sia modificabile dall'utente. Però l'utente può scrivere altro.
    Se si vuole avere una parte fissa, la soluzione ideale è agire a livello di "document", ovvero implementare un apposito Document, tipicamente estendendo PlainDocument.

    Se poi volessi anche impedire che il caret (che è quella barretta lampeggiante nel campo) possa essere spostato nella parte fissa, allora dovresti implementare anche un apposito NavigationFilter (che come dice la documentazione: "NavigationFilter can be used to restrict where the cursor can be positioned.")
  • andbin ha scritto:


    franke992 ha scritto:


    Salve, vorrei inserire una stringa in un jTextField che non sia modificabile dall'utente. Però l'utente può scrivere altro.
    Se si vuole avere una parte fissa, la soluzione ideale è agire a livello di "document", ovvero implementare un apposito Document, tipicamente estendendo PlainDocument.

    Se poi volessi anche impedire che il caret (che è quella barretta lampeggiante nel campo) possa essere spostato nella parte fissa, allora dovresti implementare anche un apposito NavigationFilter (che come dice la documentazione: "NavigationFilter can be used to restrict where the cursor can be positioned.")

    grazie!
Devi accedere o registrarti per scrivere nel forum
6 risposte