我有JTextField。我需要保存更改,如果用户在其中写了一些东西,然后失去了焦点(比如单击其他地方)
mMaxLabelLength = new JTextField();
mMaxLabelLength.addActionListener(this);
public void focusGained(FocusEvent fe)
{
System.out.println("4");
mMaxLabelLength.addActionListener(this);
}
@Override
public void focusLost(FocusEvent fe)
{
System.out.println("5");
mMaxLabelLength.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
//Do something
}问题是,我无法从"focusLost/focusGain“中调用"actionPerformed”。我需要保留"actionPerformed“作为单独的方法,因为我也是从其他地方调用它的。
发布于 2016-01-11 15:55:14
因此,当焦点丢失时,您想要做的事情与您在actionPerformed()中已经做的事情完全一样,对,对。所以,就这么做:
@Override
public void focusLost(FocusEvent fe) {
doSomething();
}
public void actionPerformed(ActionEvent e){
doSomething();
}
private void doSomething() {
// ...
}https://stackoverflow.com/questions/34725312
复制相似问题