Pessoal, estou com problemas para limitar o tamanho de um jtextfield!!!
Alguem pode me ajudar??
[code]
package interfaces;
import javax.print.attribute.AttributeSet;
import javax.swing.text.PlainDocument;
import javax.swing.text.*;
class TamanhoMaximo extends PlainDocument
{
private int iMaxLength ;
public TamanhoMaximo ( int maxlen )
{
super () ;
iMaxLength = maxlen ;
}
public void insertString ( int offset , String str , AttributeSet attr )
throws BadLocationException
{
if ( str == null )
{
return ;
}
if ( iMaxLength <= 0 ) // aceitara qualquer no. de caracteres
{
super.insertString ( offset , str , (javax.swing.text.AttributeSet) attr ) ;
return ;
}
int ilen = ( getLength () + str.length () ) ;
if ( ilen <= iMaxLength ) // se o comprimento final for menor...
{
super.insertString ( offset , str , (javax.swing.text.AttributeSet) attr ) ; // ...aceita str
}
}
} [/code]
Chamo o metodo desta meneira:
[code]
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Vector;
import javax.swing.*;
import javax.swing.text.Document;
import negocio.fachadaTipo;
public class GuiMoeda extends javax.swing.JFrame {
/** Creates new form GuiMoeda */
// Variables declaration - do not modify
private javax.swing.JTextField codigo;
// End of variables declaration
public GuiMoeda() {
java.awt.GridBagConstraints gridBagConstraints;
codigo = new javax.swing.JTextField();
getContentPane().setLayout(new java.awt.GridBagLayout());
setTitle("Moedas");
codigo.setDocument ( new TamanhoMaximo ( 2 ) );
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.ipadx = 50;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
getContentPane().add(codigo, gridBagConstraints);
setLocation(280, 180);
setResizable(false);
pack();
}
// </editor-fold>
/**
* @param args
* the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GuiMoeda().setVisible(true);
}
});
}}[/code]