Java:如何将JFrame带到最前面? [英] Java: How can I bring a JFrame to the front?

查看:126
本文介绍了Java:如何将JFrame带到最前面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在等待一个非常重要的公告,并且创建了一个简单的应用程序,每隔30分钟检查一次公告是否发布

I am currently waiting for a very important announcement and I have created a simple application to check every 30 minutes whether the announcement was made or not

发布公告时,我希望弹出一个窗口并通知我.窗口只是一个简单的JFrame,其中包含一些文本.

When the announcement is made, I want a window to pop up and inform me about it. The window is just a simple JFrame that has some text in it.

我有一堂课,叫做公告.

I have a class called Announcement.

在这个类中,我为框架定义了另一个类,称为Form, 所以我有这样的东西:

Inside this class I define another class for the frame called Form, so I have something like this:

 class Form{

    public Form(){
       //create frame and show it
          JFrame frame = new JFrame("anouncement");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container c = frame.getContentPane();
        frame.setSize(420, 100);
        JLabel l1 = new JLabel("The announcement was just made");
        l1.setFont(new Font("Courier New", Font.ITALIC, 20));
        c.add(l1);
        frame.setLocationRelativeTo(null);
        frame.setResizable(false);
        frame.setVisible(true);
        frame.toFront(); //this thing doesn't work
        }

 }

 public class Announcement{

       public static void main(String[] args){
           //do the checking every 30 minutes part
       }
 }

toFront函数根本不起作用.

The toFront function doesn't work at all.

例如,我要执行的操作是:在浏览时,我要弹出该窗口并将焦点设置在此窗口上.

What I want it do is, for example: while I'm browsing, I want this window to pop up and set the focus on this window.

所以无论我已经打开多少其他窗口,我都希望它位于所有其他窗口的前面.

So I want it to be in front of all the other windows no matter how many other windows I have already opened.

推荐答案

如果我正确理解您的代码,则您的代码至少具有两个窗口-一个是您称为表单"的基本程序,另一个是您希望的窗口在基本窗口上跳出来",对吗?如果是这样,则不要使用第二个JFrame,而让跳出"窗口为JDialog或JOptionPane并使它依赖于第一个窗口.

If I understand you correctly, your code has at least two windows -- one the basic program which you call "Form" and the other a window that you wish to "jump out" over the basic window, correct? If so, then don't use a second JFrame, but rather have the "jump-out" window be a JDialog or JOptionPane and make it dependent on the first window.

如果我的假设不正确,请纠正我.

Please correct me if my assumptions are incorrect.

这篇关于Java:如何将JFrame带到最前面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆