gpt4 book ai didi

java - 查看窗口是否失去焦点

转载 作者:行者123 更新时间:2023-12-01 09:30:39 25 4
gpt4 key购买 nike

我有一个未修饰的 JFrame ,顶部有我自己的“标题”。除了判断窗口是否失焦之外,它工作得很好。

我尝试过类似的事情

if(!frame.hasFocus()
//Do stuff here

但是当窗口中有其他组件(例如 JTextField)时,这显然不起作用。我还没有找到一种方法来做到这一点,所以感谢您的帮助。

最佳答案

这里是一个示例代码,您可以通过它来实现它:

import java.awt.event.FocusListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class SwingTest {

public static void main(String args[])
{
swing();
}
public static void swing()
{
JFrame g= new JFrame("First");
g.setVisible(true);
g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
g.setSize(300, 300);
g.setLayout(null);
JLabel l=new JLabel("Times Windows Lost Focus : 0");
l.setBounds(20,10, 200, 60);
g.add(l);

g.addWindowFocusListener( new WindowFocusListener() {
int c=0;
@Override
public void windowLostFocus(WindowEvent e) {
c++;


}

@Override
public void windowGainedFocus(WindowEvent e) {
l.setText("Times Windows Lost Focus :"+c);
//System.out.println(c);
// TODO Auto-generated method stub

}
});;
}
}

关于java - 查看窗口是否失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39439990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com