En el siguiente ejercicio crearemos dos marcos con dos botones, y utilizaremos el método getNewState() de la interface Windowevent para que nos regrese el estado en que se encuentra nuestra ventana, este estado nos lo regresa como un int que introduciremos en un array para que nos regrese un output de texto en el que nos indicará el estado de la ventana.
En la siguiente tabla os dejo los diferentes estados:
Constant Field
|
Value
|
1
|
|
0
|
|
11
|
|
12
|
|
1
|
|
6
|
|
2
|
|
4
|
|
13
|
|
8
|
|
7
|
|
0
|
|
6
|
|
9
|
|
5
|
|
4
|
|
2
|
|
10
|
|
3
|
ejercicio:
import javax.swing.*;
import java.awt.*;
import
java.awt.event.*;
public class
practica_frame6 {
public static void main (String[] arg) {
Marco_100 Marco_1 = new Marco_100();
Marco_100 Marco_2 = new Marco_100();
Marco_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Marco_2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Marco_1.setVisible(true);
Marco_2.setVisible(true);
Marco_1.setBounds(100,300,400,300);
Marco_2.setBounds(500,300,400,300);
}
}
class Marco_100
extends JFrame{
public Marco_100() {
ModificaEstado cambio = new
ModificaEstado();
Lamina1000 l1 = new Lamina1000();
add(l1);
addWindowStateListener(cambio);
setVisible(true);
}
}
class Lamina1000
extends JPanel{
public void paintComponent(Graphics g) {
super.paintComponent(g);
JButton cerrar = new JButton("CERRAR");
JButton open = new JButton("open");
Font Arial = new Font("Arial",Font.BOLD,20);
add(cerrar); add(open);
setBackground(Color.blue);
g.setFont(Arial);
g.setColor(Color.WHITE);
g.drawString("texto
1", 100, 100);
}
}
class ModificaEstado
implements WindowStateListener {
public void windowStateChanged(WindowEvent e) {
int tipoVentana = e.getNewState();
String [] estado = {
"Ventana
en estado DEFAULT_CURSOR",
"Ventana
en estado espera",
"Ventana en estado Maximiza horizontal",
"Ventana en estado Minimiza",
"Ventana
en estado SW_REDIMENSIONAR_CURSOR", "Ventana
en estado SE_REDIMENSIONAR_CURSOR",
"Ventana en estado S_REDIMENSIONAR_CURSOR",
"Ventana
en estado NORMAL",
"Ventana
en estado N_REDIMENSIONAR_CURSOR",
"Ventana
en estado W_REDIMENSIONAR_CURSOR",
"Ventana
en estado HAND_CURSOR",
"Ventana en estado MOVE_CURSOR"};
JOptionPane.showMessageDialog(null,estado[tipoVentana]);
}
}
No hay comentarios:
Publicar un comentario