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

    [java] dimensione max JTextField

    Ciao a tutti, ho i lseguente problema:

    io devo riuscire a impostare un limite di scrittura in jtextfield , ad esempio se lo setto a 5, quando l'utente tenta di immettere il 6 carattere jtextfield blocca l'inserimento.


    qualche idea?


    thx
    my workgroup :sexpulp:
    http://www.promisestudios.net

  2. #2
    codice:
    import com.sun.java.swing.text.*;
     //import javax.swing.text.*;
     public class JTextFieldLimit extends PlainDocument {
       private int limit;
       // optional uppercase conversion
       private boolean toUppoercase = false;
       
       JTextFieldLimit(int limit) {
        super();
        this.limit = limit;
        }
        
       JTextFieldLimit(int limit, boolean upper) {
        super();
        this.limit = limit;
        toUppercase = upper;
        }
      
       public void insertString
         (int offset, String  str, AttributeSet attr)
           throws BadLocationException {
        if (str == null) return;
    
        if ((getLength() + str.length()) <= limit) {
          if (toUppercase) str = str.toUpperCase();
          super.insertString(offset, str, attr);
          }
        }
     }
    
    
    
    
      import java.awt.*; 
      import com.sun.java.swing.*;
      //import javax.swing.*;
    
      public class tswing extends JApplet{
        JTextField textfield1;
        JLabel label1;
    
        public void init() {
          getContentPane().setLayout(new FlowLayout());
          //
          label1 = new JLabel("max 10 chars");
          textfield1 = new JTextField(15);
          getContentPane().add(label1);
          getContentPane().add(textfield1);
          textfield1.setDocument
             (new JTextFieldLimit(10));
          }
      }
    Alternativamente puoi scriverti una tua classe che estende JTextField e invece di usare il suo plain document predefinito usa quell che ti ho postato,in questo modo il componente sarà autocontenuto
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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.