java此代码显示在单击按钮之前获得的焦点
我希望GUI在用户单击按钮并 单击其他位置时“焦点丢失”。但它总是显示“获得了关注”
主代码:
import java.awt.*;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.*;
public class focuslistener extends JFrame {
private Container c;
private JButton jb1;
private Font f;
private JTextArea ta1;
focuslistener() {
inticompo();
}
public void inticompo() {
c = this.getContentPane();
c.setBackground(Color.yellow);
c.setLayout(null);
f = new Font("Arial", Font.ITALIC + Font.BOLD, 18);
jb1 = new JButton("Clicked");
jb1.setBounds(50, 10, 250, 80);
jb1.setForeground(Color.red);
jb1.setBackground(Color.blue);
jb1.setFont(f);
c.add(jb1);
ta1 = new JTextArea();
ta1.setFont(f);
ta1.setBounds(10, 110, 400, 300);
ta1.setForeground(Color.black);
ta1.setBackground(Color.red);
c.add(ta1);
jb1.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent fe) {
ta1.setText("focus Gained");
}
@Override
public void focusLost(FocusEvent fe) {
ta1.setText("focus Lost");
}
});
}
public static void main(String[] args) {
focuslistener a = new focuslistener();
a.setVisible(true);
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setBounds(50, 100, 500, 500);
a.setTitle("hello");
}
}
共 (0) 个答案