Para cambiar esto deberemos utilizar los "Frames Internos", estos son unos paneles que se abren dentro de un panel principal, aunque existe otro componente que también se maneja de igual forma hoy explicare este, probemos el siguiente código:
import javax.swing.*; import java.awt.event.*; @SuppressWarnings("deprecation") public class internalframe extends JFrame { boolean boton=false; JDesktopPane dp = new JDesktopPane(); JPanel Panel1 =new JPanel(); JPanel Panel2 =new JPanel(); JPanel Panel3 =new JPanel(); JInternalFrame iPanel1 = new JInternalFrame("iFrame 1"); JInternalFrame iPanel2 = new JInternalFrame("iFrame 2"); JInternalFrame iPanel3 = new JInternalFrame("iFrame 3"); JTextField TEXTO = new JTextField(25); JButton BOTON = new JButton("Cerrar"); JLabel expli1 = new JLabel("Escribe 'cerrar' para cerrar el iFrame"); JLabel expli2 = new JLabel("Este se puede minimizar"); JLabel expli3 = new JLabel("Este es puede cerrar"); JMenuBar B = new JMenuBar(); JMenu MENU = new JMenu("Click Aquí"); JMenuItem M1 = new JMenuItem("Abrir Ventana 1"); JMenuItem M2 = new JMenuItem("Abrir Ventana 2"); JMenuItem M3 = new JMenuItem("Abrir Ventana 3"); public internalframe() { super("Ejemplo de MDI"); setLocation(100,100); setSize(640,480); setJMenuBar(B); add(dp); B.add(MENU); MENU.add(M1); MENU.add(M2); MENU.add(M3); dp.add(iPanel1); dp.add(iPanel2); dp.add(iPanel3); Panel1.add(expli1); Panel1.add(TEXTO); Panel2.add(expli2); Panel2.add(BOTON); Panel3.add(expli3); iPanel1.add(Panel1); iPanel2.add(Panel2); iPanel3.add(Panel3); iPanel1.pack(); iPanel2.pack(); iPanel3.pack(); TEXTO.addKeyListener(new Comprobar()); BOTON.addActionListener(new Cerrar()); M1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt) { iPanel1.setVisible(true); } }); M2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt) { iPanel2.setVisible(true); } }); M3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt) { iPanel3.setVisible(true); } }); iPanel1.setResizable(true); iPanel2.setIconifiable(true); iPanel3.setClosable(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); show(); } public class Comprobar extends KeyAdapter{ public void keyTyped ( KeyEvent evt ){ if(TEXTO.getText().equalsIgnoreCase("cerrar")) iPanel1.setVisible(false); } } public class Cerrar implements ActionListener{ public void actionPerformed(ActionEvent evt){ iPanel2.setVisible(false); } } public static void main(String[] arg) { JOptionPane.showMessageDialog(null,"Ejemplo de MDI...\n"); JOptionPane.showMessageDialog(null,"By Carlitox ("+ "http://calitoxenlaweb.blogspot.com)"); new internalframe(); } }Lo mas importante a resaltar es que siempre que queramos utilizar el estilo modal de ventanas internas utilicemos estos frames internos, también podemos configurarle los parámetros para el estilo de la ventana, en el ejemplo vemos los 3 iFrame con 3 parámetros diferentes, uno es cambiar tamaño, otro maximizar y minimizar, y el otro cerrar.
Recibe notificaciones por correo
1 Comentarios:
Escribir ComentarioGRACIASSSSSSSS DESDE COLOMBIA
ResponderLamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.
Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión