Bom to com um problema tenhe dentro que um jframe varios textfield
e gostaria de implementar focus para eles, mas do modo que eu sei tem que ser
um textfield por ves(para cada um um focus)
alguem conhece alguma forma de implementar no mesmo focus
para todos os textfiled que eu quero?
o modo que eu estou usando é o seguinte:
private void tflVencimento1FocusLost(java.awt.event.FocusEvent evt) {
String data = tflVencimento1.getText();
data = desc.ArrumaData(data);
tflVencimento1.setText(data);
}
esse arrumaData e a classe que fas a mascara.
valeu
a ideia é mais ou menos assim
private void tflVencimento1FocusLost(java.awt.event.FocusEvent evt) {
focus((JTextField) evt.getSource());
}
private void focus(JTextField campo){
//seus métodos aqui
}
mas so que da mesma forma terei que fazer um evento de focus para cada textfild?
ou entendi mal seu codigo?
grapo pela ajuda
A ideia é vc implementar um listener que recebe o evento e identifica de qual componente foi disparado esse evento!
Da um olhada no que eu fiz e ve se é o q vc quer!
public class TesteDialog extends JDialog{
private JTextField txt3;
private JTextField txt2;
private JTextField txt1;
public static void main(String args[]) {
try {
TesteDialog dialog = new TesteDialog();
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public TesteDialog() {
setBounds(100, 100, 500, 375);
getContentPane().setLayout(null);
this.txt1 = new JTextField();
this.txt1.setBounds(10, 36, 79, 20);
getContentPane().add(this.txt1);
this.txt2 = new JTextField();
this.txt2.setBounds(10, 67, 79, 20);
getContentPane().add(this.txt2);
this.txt3 = new JTextField();
this.txt3.setBounds(10, 101, 79, 20);
getContentPane().add(this.txt3);
textFieldFocus focus = new textFieldFocus(); //cria e declara os componentes q irão utilizar o meu "focusListener"
this.txt1.addFocusListener(focus);
this.txt2.addFocusListener(focus);
this.txt3.addFocusListener(focus);
}
class textFieldFocus implements FocusListener{
public void focusGained(FocusEvent arg0) {
//evento obrigatorio por implementar a interface FocusListener
}
public void focusLost(FocusEvent e) {
if(e.getSource() == txt1){
System.out.println(1);
} else if(e.getSource() == txt2){
System.out.println(2);
} else if(e.getSource() == txt3){
System.out.println(3);
}
}
}
}
Espero ter ajudado, abraço!