Você está aqui: Java ::: Classes e Componentes ::: JFormattedTextField |
Entenda e aprenda a usar o componente JFormattedTextField em seus aplicativos JavaQuantidade de visualizações: 10140 vezes |
|
Objetos da classe JFormattedTextField (do pacote javax.swing) fornecem suporte para a entrada de texto formatado. Quando tais objetos são criados, nós definimos uma máscara para a entrada de dados. Esta máscara pode ser um objeto da classe java.text.Format, um objeto da classe AbstractFormatter, um objeto da classe AbstractFormatterFactory ou um Object contendo o valor inicial a ser exibido no controle. Esta classe herda da classe javax.swing.JTextField. Veja sua posição na hierarquia de classes da plataforma Java:
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
javax.swing.JTextField
javax.swing.JFormattedTextField
Além de fazer parte da hierarquia acima, a classe JFormattedTextField implementa as seguintes interfaces: ImageObserver, MenuContainer, Serializable, Accessible, Scrollable e SwingConstants. Se você estiver usando a IDE Netbeans, a forma mais comum de se criar um objeto JFormattedTextField é acessar a Paleta de Componentes, ir até a seção Controles Swing, clicar no componente Campo formatado e arrastar para a posição desejada no seu formulário. Se preferir criar o JFormattedTextField manualmente, basta usar um código parecido com o que mostro abaixo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
import java.text.*;
public class Estudos extends JFrame{
JFormattedTextField campo;
public Estudos(){
super("Estudos Swing");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
try{
campo = new JFormattedTextField(
new MaskFormatter("#####-###"));
}
catch(ParseException excp){
// algum problema pode ocorrer aqui
}
campo.setPreferredSize(new Dimension(100, 25));
// cria um botão
JButton btn = new JButton("OK");
// Adiciona os controles à janela
c.add(campo);
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Neste trecho de código nós criamos um JFormattedTextField e fornecemos ao seu construtor um objeto da classe MaskFormatter contendo a máscara a ser usada para a entrada de CEPs. Se você executar este exemplo, verá que o componente somente aceita valores tais como 65454-958. Qualquer valor que não contenha dígitos dispostos desta forma será recusado. É importante observar que o JFormattedTextField não realiza a formatação de seu conteúdo sozinho. Em vez disso, a formatação é feita por meio de uma instância da classe JFormattedTextField.AbstractFormatter, que é obtida a partir de uma instância de JFormattedTextField.AbstractFormatterFactory. Instâncias de JFormattedTextField.AbstractFormatter são notificadas quando se tornam ativas por meio do método install, momento no qual o JFormattedTextField.AbstractFormatter pode instalar o que for necessário, geralmente um DocumentFilter. Da mesma forma, quando o JFormattedTextField não mais precisar do AbstractFormatter, o método unistall será chamado. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






