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