José Dê uma olhada na classe abaixo: é o textfield da data. Já o que não pode ser branco você mata com um if. if(textField.getText().trim().equals("")) ?
import javax.swing.JTextField; import javax.swing.event.*; import java.awt.event.*; import java.awt.Color; /** * @author Willian Charles Balmant * @version 1.0 */ public class DateTextField extends JTextField { int caret = 0; private String campo = ""; public DateTextField() { this(""); } public DateTextField(String campo) { this.campo = campo; try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.setBackground(Color.white); this.setFont(new java.awt.Font("Monospaced", 1, 16)); this.setEditable(false); this.setText(" / / "); this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { mouse(e); } }); this.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(MouseEvent e) { mouse(e); } public void mousePressed(MouseEvent e) { mouse(e); } public void mouseReleased(MouseEvent e) { mouse(e); } }); this.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(FocusEvent e) { focus(e); } }); this.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(KeyEvent e) { processKey(e); } }); this.select(0,1); } private void processKey(KeyEvent e) { int code = e.getKeyCode(); caret = this.getCaretPosition()-1; if(caret == -1) { caret = 0; this.select(0,1); } if(caret >= 9 && code != 37 && code != 8 && this.getSelectionStart() != caret) return; if(code >= 48 && code <= 57) { this.setText(this.getText().substring(0, caret) + (char) code + this.getText().substring(caret+1)); if(caret == 1 || caret == 4) caret += 2; else caret++; } else if(code >= 96 && code <= 105) { code -= 48; this.setText(this.getText().substring(0, caret) + (char) code + this.getText().substring(caret+1)); if(caret == 1 || caret == 4) caret += 2; else caret++; } else if(code == 39) { if(caret == 1 || caret == 4) caret++; } else if(code == 8 || code == 37) { if(caret == 0) return; if(code == 37) code++; if(caret == 3 || caret == 6) caret -= 2; else if(this.getSelectionStart() == caret) caret--; } this.setCaretPosition(caret); if(caret < 10) this.select(caret, caret+1); } public static void main(String str[]) { javax.swing.JFrame f = new javax.swing.JFrame(); f.setDefaultCloseOperation(3); f.getContentPane().add(new DateTextField()); f.setSize(100,60); f.show(); } private void focus(FocusEvent e) { this.setCaretPosition(0); this.select(0,1); } private void mouse(MouseEvent e) { this.setCaretPosition(caret); if(caret < 10) this.select(caret, caret+1); } public String getCampo() { return this.campo; } public void setCampo(String campo) { this.campo = campo; } } Willian Charles Balmant ----- Original Message ----- From: José Vieira To: [EMAIL PROTECTED] Sent: Monday, January 14, 2002 3:39 PM Subject: [java-list] JTEXTFIELD Olá a todos tenho 2 Jtexfield 1 quero formatar Data 31/12/2002 O Outro não pode ser Branco o que deveria fazer pessoal ?? josé ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] ------------------------------------------------------------------------- _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------