Рубрики
Без рубрики

Java Swing – JOptionPane показывает пример журнала сообщений

– – Javax качели – JOptionPane showMessageDialog пример

Это обзор метода showMessageDialog() класса JOptionPane . Этот метод является быстрым и простым способом сообщить пользователю о том, что произошло. showMessageDialog() может быть вызван с использованием следующих комбинаций параметров:

Component, Object
Component, Object, String, int
Component, Object, String, int, Icon
  1. Компонент – Первый параметр – это компонент, который определяет кадр, в котором отображается диалоговое окно; если значение равно нулю, или если Родительский компонент не имеет фрейма, используется фрейм по умолчанию.
  2. Объект – Вторым параметром могут быть любые объекты. (В некоторых более старых версиях Java вы можете получить ошибку компилятора при непосредственном использовании примитивных типов) .
  3. Строка – Третий параметр – это строка, помещенная в качестве заголовка диалогового окна сообщения.
  4. int – Значение int, которое следует за строкой, является Типом сообщения . Различные Типы сообщений для JOptionPane , являются:

    • СООБЩЕНИЕ ОБ ОШИБКЕ
    • ИНФОРМАЦИОННОЕ СООБЩЕНИЕ
    • ПРЕДУПРЕЖДЕНИЕ_МЕССАЖ
    • ВОПРОС_СООБЩЕНИЕ
    • ПРОСТОЕ СООБЩЕНИЕ
  5. Икона – Последним параметром является Значок , который отображается внутри диалогового окна и переопределяет значение по умолчанию Тип сообщения значок.

1. Компонент и объект

Самый простой способ использовать диалоговое окно сообщения. Пример с Компонент имеет значение null и/| Строка в качестве второго аргумента:

package com.mkyong.messageDialog;

import javax.swing.JOptionPane;

public class SimpleDialog1 {

    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, "Simple Information Message");
    }

}

Выход:

2. Компонент, объект, Строка и int

Добавление дополнительной информации в диалоговое окно сообщения. Пример с Компонент имеет значение null и двойной в качестве второго параметра:

package com.mkyong.messageDialog;

import javax.swing.JOptionPane;

public class SimpleDialog2a {

    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, 8.9, "This is not an integer.", JOptionPane.PLAIN_MESSAGE);
    }

}

Выход:

Пример сообщения об ошибке ( Компонент имеет значение null, Строковый объект ):

package com.mkyong.messageDialog;

import javax.swing.JOptionPane;

public class SimpleDialog2b {

    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, "Uh-oh!", "Error", JOptionPane.ERROR_MESSAGE);
    }

}

Выход:

3. Компонент, Объект, Строка, int и значок

Сделайте свой диалог сообщений “красивее”. Пример с Значок извлеченный из каталога:

package messageDialog;

import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class SimpleDialog3a {

    public static void main(String[] args){
        ImageIcon icon = new ImageIcon("src/images/turtle64.png");
        JOptionPane.showMessageDialog(null, "I like turtles.", 
                "Customized Dialog", JOptionPane.INFORMATION_MESSAGE, icon);
    }

}

Выход:

Пример с Компонент установлен в рамку :

package com.mkyong.messageDialog;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.awt.Color;

public class MessageDialogInFrame extends JFrame{

    public MessageDialogInFrame() {
        getContentPane().setBackground(Color.DARK_GRAY);
        setTitle("Message Dialog in Frame");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setResizable(false);
        setSize(400, 300);
        getContentPane().setLayout(null);
    }

    public static void main(String[] args){
        ImageIcon icon = new ImageIcon("src/images/turtle64.png");
        JOptionPane.showMessageDialog(new MessageDialogInFrame(), 
                "I appear as part of the frame!!", "Customized Dialog", 
                JOptionPane.INFORMATION_MESSAGE, icon);
    }

}

Выход:

4. Более продвинутый пример

В этом примере мы передаем JPanel в качестве параметра объекта. Панель настроена и к ней добавлена Метка . Мы также манипулируем размером Joptionpane с помощью вызова UIManager .

package com.mkyong.messageDialog;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;

public class MessageDialogPanel {

    public static void main(String[] args){
        ImageIcon icon = new ImageIcon("src/images/turtle64.png");

        JPanel panel = new JPanel();
        panel.setBackground(new Color(102, 205, 170));
        panel.setSize(new Dimension(200, 64));
        panel.setLayout(null);

        JLabel label = new JLabel("Turtles are awesome!!! :D");
        label.setBounds(0, 0, 200, 64);
        label.setFont(new Font("Arial", Font.BOLD, 11));
        label.setHorizontalAlignment(SwingConstants.CENTER);
        panel.add(label);

        UIManager.put("OptionPane.minimumSize",new Dimension(300, 120));        
        JOptionPane.showMessageDialog(null, panel, "Customized Message Dialog", JOptionPane.PLAIN_MESSAGE, icon);
    }
}

Выход:

Рекомендации

  1. Как создавать диалоги
  2. Панель JOption класса – API Java 8

Оригинал: “https://mkyong.com/swing/java-swing-how-to-make-a-simple-dialog/”