eventos

locojava2005
08 de Marzo del 2005
hola...una consulta...
Tengo una aplicacion en la que hay JTextField JLabel yJButton y mas!!
ahora en un JTextField
quiero que cuando pierda el foco causado por un TAB ENTER O CLCIK, me realize unas operaciones....
el problema es queCUANDO PIERDE EL FOCO , PUES OTRO LO GANA... y hace otras operaciones ...
y en plena ejecucion haria 2 operaciones, y se me TRUNCA!!! que EVENTO DEBERIA USAR, o es algoritmos???

dibu
08 de Marzo del 2005
¿Qué operaciones quieres hacer cuando pierde el foco? y ¿Qué operaciones haces cuando otro control lo gana? y ¿Cómo se te trunca?

locojava2005
08 de Marzo del 2005
hola a ver mi problema es este:
por ejemplo tengo 2 JtextFild y 2 JButton
mi cursor(mi foco) esta en el PRIMER JTextField y quiero que cuando pierda el foco( por TAB, ENTER, O CLICK EN OTRO COMPONENTE ) realize cualquier operacion por ejemplo que me sume 2 numeros, pero cuando este pierde el foco cualquiera de los otros 3 componentes LO GANA.. Y REALIZA OTRAS OPERACIONES por ejemplo que se habra otra ventana al darle clcik en un JButton...
entonces..............
AL PERDER EL FOCO MI PRIMER JTEXTFEILD LO GANA UN JBUTTON Y SE REALIZAN 2 OPERACIONES A LA VEZ!!
Y PUES ESTO HACE QUE MI APLICACION SE CUELGUE...
/////////////
POR ESO QUERIA SABER SI EXISTE UN EVENTO QUE ME SOLUCIONE ESTE PROBLEMA.... CON MIS ALGORITMOS E PROBADO PONERLE BANDERAS, PERO ES MUY EXTENSO Y ME LATE QUE NO VA A CORRER
... ESPERO RESPUESRTA GRACIAS1!!

dibu
08 de Marzo del 2005
Aqui te incluyo una clase que tiene 2 jText y 2 jButton, en los JText cuando pierden el foco mandan un mensaje y los JButton cuando haces click mandan otro mensaje, prúebala y me cuentas si es lo que necesitas.

import javax.swing.*;
public class jFEvento extends javax.swing.JFrame {

private JButton jBDos;
private JButton jBUno;
private JTextField jTDos;
private JTextField jTUno;

public jFEvento() {
inicio();
this.setSize(290,155);
this.setVisible(true);
}

private void inicio() {
jTUno = new JTextField();
jTDos = new JTextField();
jBUno = new JButton();
jBDos = new JButton();

getContentPane().setLayout(null);

addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});

jTUno.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jTUnoFocusLost(evt);
}
});

getContentPane().add(jTUno);
jTUno.setBounds(80, 60, 60, 20);

jTDos.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
jTDosFocusLost(evt);
}
});

getContentPane().add(jTDos);
jTDos.setBounds(80, 90, 60, 20);

jBUno.setText("Uno");
jBUno.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBUnoActionPerformed(evt);
}
});

getContentPane().add(jBUno);
jBUno.setBounds(160, 60, 56, 26);

jBDos.setText("Dos");
jBDos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBDosActionPerformed(evt);
}
});

getContentPane().add(jBDos);
jBDos.setBounds(160, 90, 56, 26);

pack();
}

private void jBDosActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(null,"Evento Botón dos");
}

private void jBUnoActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(null,"Evento Botón uno");
}

private void jTDosFocusLost(java.awt.event.FocusEvent evt) {
JOptionPane.showMessageDialog(null,"Evento jTextField dos");
}

private void jTUnoFocusLost(java.awt.event.FocusEvent evt) {
JOptionPane.showMessageDialog(null,"Evento jTextField uno");
}


private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}

public static void main(String args[]) {
new jFEvento().show();
}
}