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] 
-------------------------------------------------------------------------

Responder a