He intentado hacer una especie de menú desplegable de una forma un tanto rústica y me ha salido.
El problema es que cuando pulso el botón habitaciones, se me abre el JFrame pantallaHabitaciones, pero si lo cierro y lo vuelvo a abrir, se me abren 4 frames iguales de pantallaHabitaciones, y si le vuelvo a dar, 12...
No entiendo.
Os dejo código, gracias.
Código:
P.D.: he probado a hacer pantallaHabitaciones en una clase a parte y llamar desde el mousseClick a esa clase y pasa lo mismo... no encuentro la razón del fayo. Me gustaría hacerlo en otra clase para sacarlo de ahí y no complicarme pero...Grax administrador.addMouseListener(new MouseAdapter() { @Override public void mouseEntered (MouseEvent e) { datos.setVisible(true); configuracion.setVisible(true); informes.setVisible(true); habitaciones.setVisible(false); servicios.setVisible(false); ofertas.setVisible(false); } @Override public void mouseExited (MouseEvent e) { datos.setVisible(false); datos.addMouseListener(new MouseAdapter() { @Override public void mouseEntered (MouseEvent e) { datos.setVisible(true); habitaciones.setVisible(true); servicios.setVisible(true); ofertas.setVisible(true); configuracion.setVisible(false); informes.setVisible(false); } @Override public void mouseExited (MouseEvent e) { datos.setVisible(false); habitaciones.setVisible(false); habitaciones.addMouseListener(new MouseAdapter() { @Override public void mouseEntered (MouseEvent e) { habitaciones.setVisible(true); datos.setVisible(true); servicios.setVisible(true); ofertas.setVisible(true); } @Override public void mouseExited (MouseEvent e) { datos.setVisible(false); servicios.setVisible(false); ofertas.setVisible(false); habitaciones.setVisible(false); } @Override public void mouseClicked (MouseEvent evt) { JFrame pantallaHabitaciones = new JFrame("Administración de datos de habitaciones"); JFrame.setDefaultLookAndFeelDecorated(true); pantallaHabitaciones.setSize(500, 500); pantallaHabitaciones.setLocationRelativeTo(null); pantallaHabitaciones.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); pantallaHabitaciones.setVisible(true); } }); servicios.setVisible(false); servicios.addMouseListener(new MouseAdapter() { @Override public void mouseEntered (MouseEvent e) { habitaciones.setVisible(true); datos.setVisible(true); servicios.setVisible(true); ofertas.setVisible(true); } @Override public void mouseExited (MouseEvent e) { datos.setVisible(false); servicios.setVisible(false); ofertas.setVisible(false); habitaciones.setVisible(false); } @Override public void mouseReleased (MouseEvent e) { } }); ofertas.setVisible(false); ofertas.addMouseListener(new MouseAdapter() { @Override public void mouseEntered (MouseEvent e) { habitaciones.setVisible(true); datos.setVisible(true); servicios.setVisible(true); ofertas.setVisible(true); } @Override public void mouseExited (MouseEvent e) { datos.setVisible(false); servicios.setVisible(false); ofertas.setVisible(false); habitaciones.setVisible(false); } @Override public void mouseReleased (MouseEvent e) { } }); } }); configuracion.setVisible(false); informes.setVisible(false); habitaciones.setVisible(false); servicios.setVisible(false); ofertas.setVisible(false); } });