Pessoal,
eu estou com problemas para fazer limitacao de caracter do JTextField … estou tentando fazer com que o usuario digite apenas inteiros no campo “Ano”, e apenas quatro numeros. mas o problema eh que nao consigo escrever nada no campo …
veja a minha classe abaixo:
package informacoes;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.BorderFactory;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.text.MaskFormatter;
public class Info extends JPanel {
JPanel painel = new JPanel();
JTextField ano, area;
public Info() {
MaskFormatter mask = new MaskFormatter();
mask.setValidCharacters("0123456789"); // adicione os caracteres validos
GridBagConstraints grid = new GridBagConstraints();
GridBagLayout layout = new GridBagLayout();
painel.setLayout(layout);
ano = new JFormattedTextField(mask);
area = new JTextField("");
area.setEditable(false);
grid.fill = GridBagConstraints.BOTH;
grid.gridy = 0;
grid.gridx = 0;
painel.add(new JLabel("Ano "), grid);
grid.gridy = 0;
grid.gridx = 1;
painel.add(ano, grid);
grid.gridy = 1;
grid.gridx = 0;
painel.add(new JLabel("Area total "), grid);
grid.gridy = 1;
grid.gridx = 1;
painel.add(area, grid);
add(painel);
}
}