Oscilación de Java | JWindow con ejemplos

JWindow es parte de Java Swing y puede aparecer en cualquier parte del escritorio de los usuarios. Es diferente de JFrame en el sentido de que JWindow no tiene una barra de título o botones de administración de ventanas como minimizar, maximizar y cerrar, que sí tiene JFrame. JWindow puede contener varios componentes como botones y etiquetas.
Los constructores de la clase son:

  1. JWindow() : crea una ventana vacía sin ningún propietario especificado
  2. JWindow(Frame o) : crea una ventana vacía con un marco especificado como propietario
  3. JWindow(Frame o) : crea una ventana vacía con un marco específico como propietario
  4. JWindow (Ventana o) : crea una ventana vacía con una ventana específica como su propietario
  5. JWindow(Window o, GraphicsConfiguration g) : crea una ventana vacía con una ventana específica como su propietario y una configuración gráfica específica.
  6. JWindow(GraphicsConfiguration g) : crea una ventana vacía con una configuración gráfica específica g.

Métodos comúnmente utilizados

  1. setLayout(LayoutManager m) : establece el diseño de la ventana en el administrador de diseño especificado
  2. setContentPane(Container c) : establece la propiedad ContentPane de la ventana
  3. getContentPane() : obtenga el contenedor que es el ContentPane para esta ventana
  4. add(Component c) : agrega componente a la ventana
  5. isVisible(boolean b) : establece la visibilidad de la ventana, si el valor del booleano es verdadero, entonces es visible, de lo contrario, es invisible
  6. update(Graphics g) : llama a la función paint(g)
  7. remove(Componente c) : elimina el componente c
  8. getGraphics() : devuelve el contexto gráfico del componente.
  9. getLayeredPane() : devuelve el panel en capas de la ventana
  10. setContentPane(Container c) :establece el panel de contenido para la ventana
  11. setLayeredPane(JLayeredPane l) : establece el panel en capas para la ventana
  12. setRootPane(JRootPane r) : establece el rootPane para la ventana
  13. setTransferHandler(TransferHandler n) : establece la propiedad transferHandler, que es un mecanismo para admitir la transferencia de datos a este componente.
  14. setRootPaneCheckingEnabled(booleano habilitado) : establece si las llamadas a add y setLayout se reenvían al panel de contenido.
  15. setRootPane(JRootPane root) :Establece la propiedad rootPane de la ventana.
  16. setGlassPane(Component glass) : Establece la propiedad glassPane de la ventana.
  17. repaint(long time, int x, int y, int width, int height) : Vuelve a pintar el rectángulo especificado de este componente en milisegundos de tiempo.
  18. remove(Componente c) : Elimina el componente especificado de la ventana.
  19. isRootPaneCheckingEnabled() : devuelve si las llamadas a add y setLayout se reenvían al panel de contenido o no.
  20. getTransferHandler() : devuelve la propiedad transferHandler.
  21. getRootPane() : Devuelve el objeto rootPane para esta ventana.
  22. getGlassPane() : Devuelve el objeto glassPane para esta ventana.
  23. createRootPane() : Llamado por los métodos constructores para crear el rootPane predeterminado.
  24. addImpl(Component co, Object c, int i) : Agrega el componente secundario especificado a la ventana.

Los siguientes programas ilustrarán el uso de JWindow

1. programa para crear un JWindow simple

// java Program to create a simple JWindow
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
  
  
class solveit extends JFrame implements ActionListener {
  
    // frame
    static JFrame f;
  
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
  
        // create a object
        solveit s = new solveit();
  
        // create a panel
        JPanel p = new JPanel();
  
        JButton b = new JButton("click");
  
        // add actionlistener to button
        b.addActionListener(s);
  
        // add button to panel
        p.add(b);
  
        f.add(p);
  
        // set the size of frame
        f.setSize(400, 400);
  
        f.show();
    }
  
    // if button is pressed
    public void actionPerformed(ActionEvent e)
    {
        String s = e.getActionCommand();
        if (s.equals("click")) {
            // create a window
            JWindow w = new JWindow(f);
  
            // set panel
            JPanel p = new JPanel();
  
            // create a label
            JLabel l = new JLabel("this is a window");
  
            // set border
            p.setBorder(BorderFactory.createLineBorder(Color.black));
  
            p.add(l);
            w.add(p);
  
            // set background
            p.setBackground(Color.red);
  
            // setsize of window
            w.setSize(200, 100);
  
            // set visibility of window
            w.setVisible(true);
  
            // set location of window
            w.setLocation(100, 100);
        }
    }
}

Producción :

1. programa para crear una JWindow múltiple (donde una ventana es propietaria de la otra)

// java program to create a multiple  JWindow .( where one window is the owner of the other )<
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solveit extends JFrame implements ActionListener {
  
    // frame
    static JFrame f;
  
    // windows
    JWindow w, w1;
  
    // object of class
    static solveit s;
  
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
  
        // create a object
        s = new solveit();
  
        // create a panel
        JPanel p = new JPanel();
  
        JButton b = new JButton("click");
  
        // add actionlistener to button
        b.addActionListener(s);
  
        // add button to panel
        p.add(b);
  
        f.add(p);
  
        // set the size of frame
        f.setSize(400, 400);
  
        f.show();
    }
  
    // if button is pressed
    public void actionPerformed(ActionEvent e)
    {
        String s1 = e.getActionCommand();
        if (s1.equals("click")) {
            // create a window
            w = new JWindow(f);
  
            // set panel
            JPanel p = new JPanel();
  
            // create a label
            JLabel l = new JLabel("this is first window");
  
            // create a button
            JButton b = new JButton("Click me");
  
            // add Action listener
            b.addActionListener(s);
  
            // set border
            p.setBorder(BorderFactory.createLineBorder(Color.black));
  
            p.add(l);
            p.add(b);
            w.add(p);
  
            // set background
            p.setBackground(Color.red);
  
            // setsize of window
            w.setSize(200, 100);
  
            // set visibility of window
            w.setVisible(true);
  
            // set location of window
            w.setLocation(100, 100);
        }
        else {
            // create a window
            w1 = new JWindow(w);
  
            // set panel
            JPanel p = new JPanel();
  
            // create a label
            JLabel l = new JLabel("this is the second window");
  
            // set border
            p.setBorder(BorderFactory.createLineBorder(Color.black));
  
            p.add(l);
  
            w1.add(p);
  
            // set background
            p.setBackground(Color.blue);
  
            // setsize of window
            w1.setSize(200, 100);
  
            // set visibility of window
            w1.setVisible(true);
  
            // set location of window
            w1.setLocation(210, 210);
        }
    }
}

Producción :

Nota: es posible que los programas anteriores no se ejecuten en un compilador en línea; use 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 *