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:
- JWindow() : crea una ventana vacía sin ningún propietario especificado
- JWindow(Frame o) : crea una ventana vacía con un marco especificado como propietario
- JWindow(Frame o) : crea una ventana vacía con un marco específico como propietario
- JWindow (Ventana o) : crea una ventana vacía con una ventana específica como su propietario
- 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.
- JWindow(GraphicsConfiguration g) : crea una ventana vacía con una configuración gráfica específica g.
Métodos comúnmente utilizados
- setLayout(LayoutManager m) : establece el diseño de la ventana en el administrador de diseño especificado
- setContentPane(Container c) : establece la propiedad ContentPane de la ventana
- getContentPane() : obtenga el contenedor que es el ContentPane para esta ventana
- add(Component c) : agrega componente a la ventana
- isVisible(boolean b) : establece la visibilidad de la ventana, si el valor del booleano es verdadero, entonces es visible, de lo contrario, es invisible
- update(Graphics g) : llama a la función paint(g)
- remove(Componente c) : elimina el componente c
- getGraphics() : devuelve el contexto gráfico del componente.
- getLayeredPane() : devuelve el panel en capas de la ventana
- setContentPane(Container c) :establece el panel de contenido para la ventana
- setLayeredPane(JLayeredPane l) : establece el panel en capas para la ventana
- setRootPane(JRootPane r) : establece el rootPane para la ventana
- setTransferHandler(TransferHandler n) : establece la propiedad transferHandler, que es un mecanismo para admitir la transferencia de datos a este componente.
- setRootPaneCheckingEnabled(booleano habilitado) : establece si las llamadas a add y setLayout se reenvían al panel de contenido.
- setRootPane(JRootPane root) :Establece la propiedad rootPane de la ventana.
- setGlassPane(Component glass) : Establece la propiedad glassPane de la ventana.
- 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.
- remove(Componente c) : Elimina el componente especificado de la ventana.
- isRootPaneCheckingEnabled() : devuelve si las llamadas a add y setLayout se reenvían al panel de contenido o no.
- getTransferHandler() : devuelve la propiedad transferHandler.
- getRootPane() : Devuelve el objeto rootPane para esta ventana.
- getGlassPane() : Devuelve el objeto glassPane para esta ventana.
- createRootPane() : Llamado por los métodos constructores para crear el rootPane predeterminado.
- 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