E ai galera,
Acontece o seguinte. Tava analisando o algoritmo de validação de CPFs e criei um validadorzinho besta aqui, contendo 1 JFormattedTextField, 2 JButton(testar e sair). Todos os componentes são gerados em classes separadas mas tem um método que retorna tal componente pra classe principal. (JButtonSair.java, JButtonAceitar.java, etc).
Mas as vezes, quando mando compilar o projeto no Eclipse, o JFormattedTextField acaba preenchendo todo o JFrame. Mas só as vezes, isso que é estranho. Estou com o projeto em um PenDrive compilando.
E outro problema, é que quando dou setResizeable(false); ele gera o JFrame mas nao aparece nenhum componente, creio que é porque o JFrame é redimensionado, mas gostaria de saber porquê.
O código está um lixo porquê eu estou só brincando com isso ainda.
Aí vai uns trechos de código:
Método construtor da GUI:
public ShitTest(boolean Visible){
setTitle("CPF Verifier");
add(cpf.GerarCampo());
setBackground(Color.BLACK);
setVisible(Visible);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(350, 70);
setLayout(new FlowLayout());
add(BtTestar.RetornarBotaoTestar());
add(BtSair.RetornarBotaoSair());
}
Codigo do JFormattedTextField:
JFormattedTextField JFCpf = new JFormattedTextField(gerarMascara());
//Construtor...
public CampoCpf(){
Graphics();
}
private void Graphics() {
JFCpf.setColumns(10);
JFCpf.addFocusListener(new FocusListener() {
public void focusLost(FocusEvent f) {
JFCpf.setBackground(Color.white);
}
public void focusGained(FocusEvent f) {
JFCpf.setBackground(Color.yellow.darker());
}
});
}
public JFormattedTextField GerarCampo() {
Graphics();
return JFCpf;
}
protected MaskFormatter gerarMascara() {
MaskFormatter mascara = new MaskFormatter();
try {
mascara.setMask("###.###.###-##");
mascara.setPlaceholderCharacter('_');
mascara.setValidCharacters("[telefone removido]");
mascara.setOverwriteMode(true);
} catch (Exception excecao) {
excecao.printStackTrace();
}
return mascara;
}
}
O que tá acontecendo?
Valeu!