Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
859 views
in Technique[技术] by (71.8m points)

swing - Java: How can I bring a JFrame to the front?

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

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.

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
       }
 }

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...