Hallo,
ich möchte gerne das Event abfangen wenn jemand einen JSpinner verlässt. Leider funktioniert das mit dem Focuslistener nicht so ganz, das heißt ich bekomme kein Event geliefert.
Wenn ich das ganze mit JTextField versuche bekomme ich die Events ganz normal.
Hier mal eine kleine Beispielklasse:
ich möchte gerne das Event abfangen wenn jemand einen JSpinner verlässt. Leider funktioniert das mit dem Focuslistener nicht so ganz, das heißt ich bekomme kein Event geliefert.
Wenn ich das ganze mit JTextField versuche bekomme ich die Events ganz normal.
Hier mal eine kleine Beispielklasse:
Code:
import java.awt.FlowLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.*;
public class FocusTest extends JFrame implements FocusListener{
JSpinner min,max;
JTextField t1,t2;
public static void main(String[] args) {
FocusTest ft = new FocusTest();
}
public FocusTest() {
JFrame f = new JFrame();
f.getContentPane().setLayout(new FlowLayout());
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setSize(500,500);
min = new JSpinner();
max = new JSpinner();
t1 = new JTextField(5);
t2 = new JTextField(5);
t1.addFocusListener(this);
t2.addFocusListener(this);
min.addFocusListener(this);
max.addFocusListener(this);
f.getContentPane().add(min);
f.getContentPane().add(max);
f.getContentPane().add(t1);
f.getContentPane().add(t2);
f.setVisible(true);
}
public void focusGained(FocusEvent arg0) {
// TODO Auto-generated method stub
}
public void focusLost(FocusEvent e) {
if (e.getSource()==min) {
System.out.println("Focus lost @ min");
}
if(e.getSource()==max) {
System.out.println("Focus lost @ max");
}
if(e.getSource()==t1) {
System.out.println("Focus lost @ t1");
}
if(e.getSource()==t2) {
System.out.println("Focus lost @ t2");
}
}
}