2014-01-21 1 views
2

Я читал о сообщениях JDialogs и JOptionPane, но я до сих пор не могу заставить его работать. У меня есть GUI-класс, который расширяет JFrame. Все, что я хочу сделать, это всплывающее окно в начале моей программы, которое информирует пользователя о нескольких вещах. В моем основном я создаю следующие gui:Показать всплывающее окно сообщений в Java?

GUI g = new GUI(); 

Сразу после этого я должен был отобразить окно. Я попробовал следующее в главном методе:

JOptionPane.showMessageDialog(g, "work?"); 
JOptionPane.showMessageDialog(frame, "work?"); //(frame was used in documentation example so I tried it) 

Я также попытался добавить всплывающие в класс GUI со следующими

JOptionPane.showMessageDialog(this, "work?"); //(I'm not exactly sure what the Frame Owner parameter is supposed to be, unless I'm confusing this with JDialog.) 

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

public class GUI extends JFrame implements ActionListener{ 
    private Container background; 
    private static buttons etc... 
    private static JLabel disp,edisp; 
    private static JTextArea info; 
    //setting up the GUI for my program, adding action listeners, I can post more if necessary 
} 

А то у меня главное, где я хочу, чтобы вызвать всплывающее окно

public static void main(String[] args){ 
    GUI g = new GUI(); 
    JOptionPane.showMessageDialog(g,"Work?"); 
} 
+5

JOptionPanes работает для меня, поэтому я не знаю, почему вы не работаете, и я подозреваю, что ваша проблема в коде не показана нам. Вы должны создать и опубликовать [минимальный пример выполнения] (http://stackoverflow.com/help/mcve), чтобы показать нам, что вы имеете в виду. –

+0

Сделаю, дай мне минуту, чтобы сузить код. – Howcan

+0

Ссылка «parent» относится к ряду применений, 1- позволяет диалогу «ассоциироваться» с родителем визуально; 2- Поддержка модального состояния 'JOptionPane' – MadProgrammer

ответ

5

Убедитесь, что они называются ближе к началу, будь то основной метод или нет. Также попробуйте просто установить первый параметр как null. Так гласит:

JOptionPane.showMessageDialog(null,"Work?"); 

Кроме того, помните, чтобы импортировать его!

+1

Зачем (используйте 'null')? – MadProgrammer

+1

Первый параметр указывает родительский компонент. если «null», или если parentComponent не имеет «Frame», используется «Frame» по умолчанию. http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html#showMessageDialog (java.awt.Component, java.lang.Object) –

+0

[6.1 Всплывающее сообщение (код Java) - YouTube] (https://www.youtube.com/watch?v=5_aCZnCJ92E) – ycomp