Oscilación de Java | Creación de diálogos de mensajes personalizados

Aunque Java Swing proporciona un cuadro de diálogo de mensaje incorporado para mostrar mensajes, podemos crear un cuadro de diálogo de mensaje personalizado utilizando JWindow y otros elementos de Java Swing. La ventaja de crearlos es que son altamente personalizables y podemos agregarles la apariencia y las funcionalidades deseadas.
En este artículo veremos cómo crear un mensaje personalizado en Java Swing.
Ejemplos: 
 

First we create a simple JWindow and add label and button to it.
Output:

Then we will shape the window and background color to it.
Output:

Then will set the look and feel of the label and
button to System look and feel and then add glossy 
appearance to the window by applying per pixel
translucency.
Output:

En los siguientes programas veremos cómo crear un diálogo de mensaje.
1. Programa para crear una JWindow simple y agregarle una etiqueta y un botón. 
 

Java

// Java Program to create a simple JWindow
// and add label and button to it.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class message implements ActionListener {
 
    // window
    JWindow w;
 
    // constructor
    message()
    {
        // create a window
        w = new JWindow();
 
        // create a label
        JLabel l = new JLabel("This  is a message dialog");
 
        // create a new button
        JButton b = new JButton("OK");
 
        // add action listener
        b.addActionListener(this);
 
        // create a panel
        JPanel p = new JPanel();
 
        // add contents to panel
        p.add(l);
        p.add(b);
 
        w.add(p);
 
        w.setSize(200, 100);
        w.setLocation(300, 300);
 
        w.show();
    }
 
    // if button is pressed
    public void actionPerformed(ActionEvent evt)
    {
        w.setVisible(false);
    }
 
    // main class
    public static void main(String args[])
    {
        // create aobject
        message m = new message();
    }
}

producción: 
 

2. Programa para crear una ventana de mensaje, darle forma a la ventana y darle color de fondo. 
 

Java

// Java Program to create a message window,
// and shape the window and add background color to it
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class message1 implements ActionListener {
    // window
    JWindow w;
 
    // constructor
    message1()
    {
        // create a window
        w = new JWindow();
 
        // set background of window transparent
        w.setBackground(new Color(0, 0, 0, 0));
 
        // create a label
        JLabel l = new JLabel("This  is a message dialog");
 
        // create a new button
        JButton b = new JButton("OK");
 
        // add action listener
        b.addActionListener(this);
 
        try {
            // set windows look and feel
            UIManager.setLookAndFeel(UIManager.
                             getSystemLookAndFeelClassName());
        }
        catch (Exception e) {
        }
 
        // create a panel
        JPanel p = new JPanel() {
            public void paintComponent(Graphics g)
            {
 
                g.setColor(new Color(100, 100, 240));
                g.fillRoundRect(0, 0, 200, 100, 20, 20);
 
                g.setColor(new Color(10, 10, 255));
                g.drawRoundRect(0, 0, 200, 100, 20, 20);
            }
        };
 
        // create a font
        Font f = new Font("BOLD", 1, 14);
 
        l.setFont(f);
 
        // add contents to panel
        p.add(l);
        p.add(b);
 
        w.add(p);
 
        w.setSize(200, 100);
        w.setLocation(300, 300);
 
        w.show();
    }
 
    // if button is pressed
    public void actionPerformed(ActionEvent evt)
    {
        w.setVisible(false);
    }
 
    // main class
    public static void main(String args[])
    {
        // create aobject
        message1 m = new message1();
    }
}

producción: 
 

3. Programa para crear una ventana de mensaje, dar forma a la ventana, agregarle color de fondo y también agregar una apariencia brillante a la ventana aplicando translucidez por píxel 
 

Java

// Java Program to create a message window, shape the window
// add background color to it and also add
// glossy appearance to the window by applying per pixel translucency
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class message2 implements ActionListener {
    // window
    JWindow w;
 
    // constructor
    message2()
    {
        // create a window
        w = new JWindow();
 
        // set background of window transparent
        w.setBackground(new Color(0, 0, 0, 0));
 
        // create a label
        JLabel l = new JLabel("This  is a message dialog");
 
        // create a new button
        JButton b = new JButton("OK");
 
        // add action listener
        b.addActionListener(this);
 
        try {
            // set windows look and feel
            UIManager.setLookAndFeel(UIManager
                         .getSystemLookAndFeelClassName());
        }
        catch (Exception e) {
        }
 
        // create a panel
        JPanel p = new JPanel() {
            public void paintComponent(Graphics g)
            {
 
                g.setColor(new Color(100, 100, 240));
                g.fillRoundRect(0, 0, 200, 100, 20, 20);
 
                g.setColor(new Color(10, 10, 255));
                g.drawRoundRect(0, 0, 200, 100, 20, 20);
 
                // create a glossy appearance
                for (int i = 0; i < 100; i++) {
                    g.setColor(new Color(255, 255, 255, i));
                    g.drawLine(0, i, 200, i);
                }
            }
        };
 
        // create a font
        Font f = new Font("BOLD", 1, 14);
 
        l.setFont(f);
 
        // add contents to panel
        p.add(l);
        p.add(b);
 
        w.add(p);
 
        w.setSize(200, 100);
        w.setLocation(300, 300);
 
        w.show();
    }
 
    // if button is pressed
    public void actionPerformed(ActionEvent evt)
    {
        w.setVisible(false);
    }
 
    // main class
    public static void main(String args[])
    {
        // create aobject
        message2 m = new message2();
    }
}

Producción : 
 

Nota: Es posible que el siguiente programa no se ejecute en un compilador en línea; utilice un IDE sin conexión.
 

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *