Подтвердить что ты не робот

Всплывающие окна сообщений

Я не знаю, как закодировать всплывающее окно сообщения в моих методах.

public String verify(){
    String result = "failed";
    int authcode = staffBean.getVerifyCodeByName(getLoginUserName());

    if (code == authcode){       
        result ="success";
    }    
    else{ //statement to popup an error message box

    }
    return result;
}

Я попытался использовать JOptionPane в моем методе, но он не работает:

String st = "Welcome";
JOptionPane.showMessageDialog(null, st);
4b9b3361

Ответ 1

javax.swing.JOptionPane

Вот код метода, который я вызываю всякий раз, когда я хочу, чтобы информационное окно всплывало, оно запускает экран до тех пор, пока он не будет принят:

import javax.swing.JOptionPane;

public class ClassNameHere
{

    public static void infoBox(String infoMessage, String titleBar)
    {
        JOptionPane.showMessageDialog(null, infoMessage, "InfoBox: " + titleBar, JOptionPane.INFORMATION_MESSAGE);
    }
}

Первый параметр JOptionPane (null в этом примере) используется для выравнивания диалога. null заставляет его центрировать себя на экране, однако любой java.awt.Component может быть указан, и вместо этого диалог появится в центре этого Component.

Я обычно использую titleBar String для описания того, где в коде, из которого вызывается ящик, таким образом, если он раздражает, я могу легко отследить и удалить код, ответственный за рассылку моего экрана с помощью infoBoxes.

Чтобы использовать этот вызов метода:

ClassNameHere.infoBox("YOUR INFORMATION HERE", "TITLE BAR MESSAGE");

javafx.scene.control.Alert

Подробное описание того, как использовать диалоги JavaFX, см. в разделе Диалоги JavaFX (официальный) с помощью code.makery. Они гораздо более мощные и гибкие, чем диалоги Swing, и способны гораздо больше, чем просто всплывающие сообщения.

Как и выше, я опубликую небольшой пример того, как вы могли бы использовать диалоги JavaFX для достижения того же результата

import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.application.Platform;

public class ClassNameHere
{

    public static void infoBox(String infoMessage, String titleBar)
    {
        /* By specifying a null headerMessage String, we cause the dialog to
           not have a header */
        infoBox(infoMessage, titleBar, null);
    }

    public static void infoBox(String infoMessage, String titleBar, String headerMessage)
    {
        Alert alert = new Alert(AlertType.INFORMATION);
        alert.setTitle(titleBar);
        alert.setHeaderText(headerMessage);
        alert.setContentText(infoMessage);
        alert.showAndWait();
    }
}

Следует иметь в виду, что JavaFX представляет собой однопоточный набор инструментов GUI, что означает, что этот метод следует вызывать непосредственно из потока приложений JavaFX. Если у вас есть другой поток, выполняющий работу, для которого требуется диалог, см. Эти SO Q & As: JavaFX2: могу ли я приостановить фоновое задание/услугу? и "Платформа" и "Javafx" .

Чтобы использовать этот вызов метода:

ClassNameHere.infoBox("YOUR INFORMATION HERE", "TITLE BAR MESSAGE");

или

ClassNameHere.infoBox("YOUR INFORMATION HERE", "TITLE BAR MESSAGE", "HEADER MESSAGE");

Ответ 2

сначала нужно импортировать: импортировать javax.swing.JOptionPane; то вы можете вызвать его, используя это:

JOptionPane.showMessageDialog(null, 
                              "ALERT MESSAGE", 
                              "TITLE", 
                              JOptionPane.WARNING_MESSAGE);

нуль помещает его в середину экрана. помещать кавычки в предупреждающее сообщение. Заголовок, очевидно, заголовок, и последняя часть будет отформатировать его как сообщение об ошибке. если вы хотите, чтобы регулярное сообщение просто заменило его на PLAIN_MESSAGE. он работает очень хорошо во многом в основном для ошибок.

Ответ 3

Пара "улучшений", которые я использую для отладки, особенно при запуске проектов (т.е. не в режиме отладки).

  1. По умолчанию в заголовке окна сообщения указывается имя вызывающего метода. Это удобно для остановки потока в заданной точке, но должно быть очищено перед выпуском.
  2. Автоматически скопируйте имя абонента и сообщение в буфер обмена, потому что вы не можете искать изображение!

    package forumposts;
    
    import java.awt.Toolkit;
    import java.awt.datatransfer.Clipboard;
    import java.awt.datatransfer.StringSelection;
    import javax.swing.JOptionPane;
    
    public final class MsgBox
    {
        public static void info(String message) {
            info(message, theNameOfTheMethodThatCalledMe());
        }
        public static void info(String message, String caller) {
            show(message, caller, JOptionPane.INFORMATION_MESSAGE);
        }
    
        static void error(String message) {
            error(message, theNameOfTheMethodThatCalledMe());
        }
        public static void error(String message, String caller) {
            show(message, caller, JOptionPane.ERROR_MESSAGE);
        }
    
        public static void show(String message, String title, int iconId) {
            setClipboard(title+":"+NEW_LINE+message);
            JOptionPane.showMessageDialog(null, message, title, iconId);
        }
        private static final String NEW_LINE = System.lineSeparator();
    
        public static String theNameOfTheMethodThatCalledMe() {
            return Thread.currentThread().getStackTrace()[3].getMethodName();
        }
    
        public static void setClipboard(String message) {
            CLIPBOARD.setContents(new StringSelection(message), null);
            // nb: we don't respond to the "your content was splattered"
            //     event, so it OK to pass a null owner.
        }
        private static final Toolkit AWT_TOOLKIT = Toolkit.getDefaultToolkit();
        private static final Clipboard CLIPBOARD = AWT_TOOLKIT.getSystemClipboard();
    
    }
    

Полный класс также имеет методы отладки и предупреждения, но я сокращу их для краткости, и вы все равно получите основные моменты. Вы можете использовать публичный статический логический isDebugEnabled для подавления сообщений отладки. Если все сделано правильно, оптимизатор (почти) удалит эти вызовы методов из вашего рабочего кода. Смотрите: http://c2.com/cgi/wiki?ConditionalCompilationInJava

Приветствия. Кит.

Ответ 4

JOptionPane.showMessageDialog(btn1, "you are clicked save button","title of dialog",2);

btn1 - это переменная JButton, и она используется в этом диалоговом окне, чтобы открыть диалоговое окно btn1 или текстовое поле и т.д., по умолчанию использовать нулевую позицию кадра. Рядом с сообщением, а затем - название диалога. 2 номера значка типа оповещения 3 - это информация 1,2,3,4. Хорошо, надеюсь, вы это понимаете.

Ответ 5

Хорошо, SO В принципе, я думаю, что у меня есть простое и эффективное решение.

package AnotherPopUpMessage;
import javax.swing.JOptionPane;
public class AnotherPopUp {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JOptionPane.showMessageDialog(null, "Again? Where do all these come from?", 
            "PopUp4", JOptionPane.CLOSED_OPTION);
    }
}

Ответ 6

Используйте следующую библиотеку: import javax.swing.JOptionPane;

Ввод в верхней части строки кода. Вы должны только добавить это, потому что все остальное сделано правильно!

Ответ 7

import javax.swing.*;
class Demo extends JFrame
{
           String str1;
           Demo(String s1)
           {
             str1=s1;
            JOptionPane.showMessageDialog(null,"your message : "+str1);
            }
            public static void main (String ar[])
            {
             new Demo("Java");
            }
}

Ответ 8

вы можете вызвать этот метод

public void showMessage() {
    JOptionPane.showMessageDialog(null, "this is a pop up message");
}

Ответ 9

POP UP WINDOWS В APPLET

Привет, ребята, я искал всплывающие окна в апплете по всему Интернету, но не мог найти ответ для окон.

Хотя это просто, я просто помогаю тебе. Надеюсь, вам понравится, как это в самой простой форме. вот код:

Имя файла: PopUpWindow.java для Java файла, и нам тоже нужен HTML файл.

Для апплета давайте возьмем его popup.html

КОД:

import java.awt.*;

import java.applet.*;

import java.awt.event.*;

public class PopUpWindow extends Applet{

public void init(){

Button open = new Button("open window");

add(open);

Button close = new Button("close window");

add(close);

 Frame f = new Frame("pupup win");

  f.setSize(200,200);




 open.addActionListener(new ActionListener() {

                 public void actionPerformed(ActionEvent e) {
                     if(!f.isShowing()) {
                         f.setVisible(true);
                     }


                 }

              });
 close.addActionListener(new ActionListener() {

                 public void actionPerformed(ActionEvent e) {
                     if(f.isShowing()) {
                        f.setVisible(false);
                     }

                 }

              });

 }

}




/*
<html>

<body>

<APPLET CODE="PopUpWindow" width="" height="">

</APPLET>

</body>

</html>

*/


to run:
$javac PopUpWindow.java && appletviewer popup.html