Insercao Simultanea de MAIUSCULAS E ESPACO no JTextField

2 respostas
L

ola

como faco para inserir no JTextField CampoNome caracterers maiusculos e espacos ao mesmo tempo ?

import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;

public class CadastroClientes extends JInternalFrame{
	
		JDesktopPane desktopDigitar;		
		
		private MaskFormatter MascaraCampos(){
			MaskFormatter FormatoCampoNome = null;
			try{
				FormatoCampoNome = new MaskFormatter("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU");  
             	FormatoCampoNome.setValidCharacters(" .ABCDEFGHIJKLMNOPQRSTUVWXYZ12_");
         	}catch (Exception e){}
         	return FormatoCampoNome;
		}						
		
		public CadastroClientes(JDesktopPane externo){
			super("Cadastro de Clientes", false, true, false, true);
		
			desktopDigitar = externo;
			GridLayout layout = new GridLayout(15,2);	
			
			JLabel Codigo = new JLabel("Código: ");
			JTextField CampoCodigo = new JTextField();
			JLabel Nome = new JLabel("Nome: ");			
			JFormattedTextField CampoNome = new JFormattedTextField(MascaraCampos());			 	
			JLabel Endereco = new JLabel("Endereço: ");
			JTextField CampoEndereco = new JTextField();
			JLabel Tel = new JLabel ("Telefone: ");
			JTextField CampoTel = new JTextField(); 
			JLabel Cel = new JLabel ("Celular: ");
			JTextField CampoCel = new JTextField();
			JLabel Email = new JLabel ("E-mail: ");
			JTextField CampoEmail = new JTextField();
			JLabel Cidade = new JLabel ("Cidade: ");
			JTextField CampoCidade = new JTextField();
			JLabel CEP = new JLabel ("CEP: ");
			JTextField CampoCEP = new JTextField();			
			JLabel UF = new JLabel ("UF: ");
			JComboBox CampoUF = new JComboBox();
			CampoUF.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"AC","AL","AM","AP","BA","CE","ES","DF","GO","MA","MG","MS","MT","PA","PB","PE","PI","PR","RN","RJ","RO","RS","SC","SE","SP","TO"}));
     		JLabel RG = new JLabel("RG: ");
			JTextField CampoRG = new JTextField (); 
			JLabel CPF = new JLabel ("CPF: ");
			JTextField CampoCPF = new JTextField();
			JLabel CNPJ = new JLabel ("CNPJ: ");
			JTextField CampoCNPJ = new JTextField();
			JLabel IE = new JLabel ("IE: ");
			JTextField CampoIE = new JTextField();
			JLabel OBS = new JLabel ("Observações: ");
			JTextField CampoOBS = new JTextField();
			
			Container container = getContentPane();			
			container.setLayout(layout);
			
			JPanel painel = new JPanel();
			painel.setLayout(layout);

			container.add(Codigo);
			container.add(CampoCodigo);
			container.add(Nome);
			container.add(CampoNome);
			container.add(Endereco);
			container.add(CampoEndereco);
			container.add(Cidade);
			container.add(CampoCidade);
			container.add(UF);
			container.add(CampoUF);
			container.add(CEP);
			container.add(CampoCEP);
			container.add(Tel);
			container.add(CampoTel);
			container.add(Cel);
			container.add(CampoCel);
			container.add(Email);
			container.add(CampoEmail);
			container.add(RG);
			container.add(CampoRG);
			container.add(CPF);
			container.add(CampoCPF);
			container.add(CNPJ);
			container.add(CampoCNPJ);
			container.add(IE);
			container.add(CampoIE);
			container.add(OBS);
			container.add(CampoOBS);			
			
			add(painel);
			setVisible(true);
			setSize(585,350);	
		}		
	}

muito obrigado

2 Respostas

Ironlynx

leonardo, espaços que vc fala é abaixo das letras, como um marcador é isso?Se for é so por:

FormatoCampoNome.setPlaceholderCharacter('_');

dentro do seu método MascaraCampos();
OBS.: Métodos deveriam começar em letras minúsculas.

L

ola amigo!

o que percebi eh que o caractere U significa que o campo vai aceitar somente letras e caso eu digite minuscula, ele transforma em maiuscula. até aí, tudo bem. eu pensei que fazendo o setValidCharacters(" .ABCDEFGHIJKLMNOPQRSTUVWXYZ"); ele aceitaria tanto o espaço como o ponto, que foi o que eu informei que fosse valido, mas nao deu certo. por exemplo, no campo de nome do cliente, queria que ficasse assim:

LEONARDO NOGUEIRA DE OLIVEIRA

mas quando vou digitar, ele nao aceita o espaço e fica assim:

LEONARDONOGUEIRADEOLIVEIRA

o comando setPlaceholderCharacter(’_’); nao deu certo!!!

valeu aí!!

Criado 19 de abril de 2007
Ultima resposta 20 de abr. de 2007
Respostas 2
Participantes 2