Java 如何将JFrame设置为始终处于焦点
我想制作一个始终具有焦点且在关闭前不能失去焦点的JFrame,我已经将其设置为始终位于顶部,并尝试了以下代码:Java 如何将JFrame设置为始终处于焦点,java,swing,jframe,Java,Swing,Jframe,我想制作一个始终具有焦点且在关闭前不能失去焦点的JFrame,我已经将其设置为始终位于顶部,并尝试了以下代码: import java.awt.event.*; import javax.swing.*; public class Viewer extends JFrame WindowFocusListener { public Viewer() { addWindowFocusListener(this); setAlwaysOnTop(tr
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
的作业。请参见以下实施方法: