Java:如何将JFrame引入前端?

时间:2012-02-26 12:29:09

标签: java swing jframe jdialog

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

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

我有一个名为Announcement的课程。

在这个类中,我为名为Form的框架定义了另一个类, 所以我有这样的事情:

 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功能根本不起作用。

我想要它做的是,例如:当我浏览时,我想要弹出这个窗口并将焦点设置在这个窗口上。

所以我希望它在所有其他窗口前面,无论我已经打开多少个窗口。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你的代码至少有两个窗口 - 一个是你称之为“表单”的基本程序,另一个是你希望在基本窗口“跳出”的窗口,对吗?如果是这样,那么不要使用第二个JFrame,而是将“跳出”窗口设为JDialog或JOptionPane,并使其依赖于第一个窗口。

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