gpt4 book ai didi

java - 如何设置 JFrame 始终处于焦点

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:19 26 4
gpt4 key购买 nike

我想制作一个始终具有焦点并且在关闭之前不会失去焦点的 JFrame,我已经将它设置为始终位于顶部并且我尝试了以下代码:

import java.awt.event.*;
import javax.swing.*;

public class Viewer extends JFrame WindowFocusListener
{
public Viewer()
{
addWindowFocusListener(this);
setAlwaysOnTop(true);
this.setFocusable(true);
this.setFocusableWindowState(true);
panel = new JPanel();

setSize(WIDTH,HEIGHT);
setLocation(X,Y);
setResizable(false);
setVisible(true);
}

public void windowGainedFocus(WindowEvent e){}
public void windowLostFocus(WindowEvent e)
{
toFront();
requestFocusInWindow();
System.out.println("focus lost");
}

private JPanel panel;
private static final int WIDTH = 200;
private static final int HEIGHT = 200;
private static final int X = 100;
private static final int Y = 100;

public static void main(String args[]){new Viewer();}
}

我不明白为什么这段代码不起作用,谁能看出我做错了什么?提前致谢。

最佳答案

这对于简单的 JFrame 是不可能的;这是 JDialog 的工作。请查看这些已实现的方法:

setModal()

setModalityTypes()

关于java - 如何设置 JFrame 始终处于焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8631165/

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