2012-02-26 3 views
3

В настоящее время я жду очень важное объявление, и я создал простую заявку на проверку каждые 30 минут, было ли сделано объявление или нет.Java: Как я могу перенести JFrame на передний план?

Когда объявление сделано, я хочу, чтобы окно всплыло и сообщило мне об этом. Это просто простой JFrame, в котором есть текст.

У меня есть класс под названием «Объявление».

Внутри этого класса я определил другой класс для фрейма под названием 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 не работает вообще.

Я хочу, чтобы это произошло, например: пока я просматриваю, я хочу, чтобы это окно всплыло и установило фокус на этом окне.

Поэтому я хочу, чтобы это было перед всеми другими окнами, независимо от того, сколько других окон я уже открыл.

+0

Возможный обман: http://stackoverflow.com/questions/309023/howto-bring-a-java-window-to-the-front –

ответ

2

Если вы правильно поняли, ваш код имеет как минимум два окна - одну из основных программ, которую вы называете «Форма», а другая - окно, которое вы хотите «выпрыгнуть» над основным окном, правильно? Если это так, то не используйте второй JFrame, а скорее, окно «выпрыгивания» должно быть JDialog или JOptionPane и сделать его зависимым от первого окна.

Пожалуйста, исправьте меня, если мои предположения неверны.

+0

Привет, спасибо за ваш ответ. На самом деле у меня только 1 форма, я просто использую класс внутри основного класса, чтобы его создать. Я попытался использовать диалог JOptionPane, но снова он не выходит на передний план. – jan1

+1

Рассмотрите возможность создания небольшой макетной программы, которая не содержит всех деталей вашей программы, но демонстрирует, что вы пытаетесь сделать, [sscce] (http://sscce.org). –

+0

@ jan1, что правильно JDialog правильный путь +1 – mKorbel

Смежные вопросы