//Clase con los eventos y disposiciones FlowLayout();
import static java.awt.BorderLayout.CENTER;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.beans.PropertyVetoException;
import java.io.Serializable;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import static javax.swing.JOptionPane.INFORMATION_MESSAGE;
import static javax.swing.JOptionPane.showInternalMessageDialog;
/**
*
*/
/**
* @author Desconocido
*
*/
@SuppressWarnings("unused")
public class ElInterno extends JFrame implements Serializable,
InternalFrameListener {
public ElInterno() {
super("Usando JDesktopPane");
laBarra = new JMenuBar();
elMenu = new JMenu("Agregar");
segundoMenuFuncion = new JMenu("Seleciona Marcos");
nuevoMarco = new JMenuItem("Primer marco Interno");
otroMarco = new JMenuItem("Segundo Marco Interno");
selecciona1 = new JMenuItem("Selecciona Primer Venta");
selecciona2 = new JMenuItem("Selecciona Segunda Ventana");
elEscritorio = new JDesktopPane();
elMenu.add(nuevoMarco);
elMenu.add(otroMarco);
segundoMenuFuncion.add(selecciona1);
segundoMenuFuncion.add(selecciona2);
laBarra.add(elMenu);
laBarra.add(segundoMenuFuncion);
setJMenuBar(laBarra);
add(elEscritorio);
nuevoMarco
.addActionListener(e -> {
marco = new JInternalFrame("Primer interno", true, true,
true, true);
botonventaInterna1 = new JButton("Activa");
degradado = new ElDegradado();
degradado.setLayout(new FlowLayout());
degradado.add(botonventaInterna1);
marco.add(degradado, CENTER);
marco.setSize(new Dimension(300, 200));
elEscritorio.add(marco);
marco.show();
marco.setVisible(true);
marco.addInternalFrameListener(this);
botonventaInterna1.addActionListener(ex-> {
//showInternalMessageDialog(this, "Deshabilitando el boton", "Mensajito", INFORMATION_MESSAGE);
botonventanaInterna2.setEnabled(false);
});
if (marco.isShowing()) {
System.out.println("esta abierto");
nuevoMarco.setEnabled(false);
}
});
otroMarco.addActionListener(e -> {
segundoMarco = new JInternalFrame("Segundo Interno", true, true,
true, true);
botonventanaInterna2 = new JButton("Muestra");
degradado = new ElDegradado();
degradado.setLayout(new FlowLayout());
degradado.add(botonventanaInterna2);
segundoMarco.add(degradado, CENTER);
segundoMarco.setSize(new Dimension(300, 200));
elEscritorio.add(segundoMarco);
segundoMarco.addInternalFrameListener(this);
segundoMarco.show();
segundoMarco.setVisible(true);
botonventanaInterna2.addActionListener(ex -> {
//showInternalMessageDialog(this, "Estoy esperando la funcion :D", "Mensajito", INFORMATION_MESSAGE);
});
if(segundoMarco.isShowing()) {
System.out.println("esta abierto");
otroMarco.setEnabled(false);
}
});
selecciona1.addActionListener(e -> {
marco.toFront();
segundoMarco.toBack();
});
selecciona2.addActionListener(e -> {
segundoMarco.toFront();
marco.toBack();
});
}
@Override
public void internalFrameOpened(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameClosing(InternalFrameEvent e) {
// TODO Auto-generated method stub
Object control = e.getSource();
if (control.equals(marco)) {
System.out.println("Se cerro el primer marco");
nuevoMarco.setEnabled(true);
} else if (control.equals(segundoMarco)) {
System.out.println("Se cerro el segundo marco");
otroMarco.setEnabled(true);
}
}
@Override
public void internalFrameClosed(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameIconified(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeiconified(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameActivated(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeactivated(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
private static final long serialVersionUID = -6071900618852090696L;
private JDesktopPane elEscritorio;
private JInternalFrame marco, segundoMarco;
private JMenuBar laBarra;
private JMenu elMenu, segundoMenuFuncion;
private JMenuItem nuevoMarco, otroMarco, selecciona1, selecciona2;
private static JButton botonventaInterna1, botonventanaInterna2;
private ElDegradado degradado;
}