Bueno, no obtuve respuesta válida pero lo solucioné, el problema está en que los JLabel van en estricto orden de llegada, por lo que el que se declara primero, se coloca en primera posición y así sucesivamente, debido a esto, lo que hice fue una vez elegida la opción lo hago invisible con el setVisible y hago un metodo con el mismo JLabel que es declarado en ultimo lugar, dejo el código:
Código Java:
Ver original/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package dni;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
/**
*
* @author
*/
public class DNI
extends JFrame {
private JLabel logos, logoFianal, titulo, campoNombre, campoApellidos, campoDNI, campoFecha
; private JTextField textNombre, textApellidos, textDNI, textFecha
; private JMenu gestiones, buscador, informacion
; private JMenuItem altas, gestionesItem, bajas, DNI, nombre, autor, ayuda, aviso, modificar
;
public DNI()
{
//Creamos el texto
super("DNI OVER");
//esquema = new BorderLayout(5,5);
setLayout(null);
//Cremoas la barra del menu
//Creamos cada opción simple en el menu
gestiones
= new JMenu("Gestiones"); gestionesItem
= new JMenuItem ("Gestiones realizadas"); modificar
= new JMenuItem("Modificar un registro");
buscador
= new JMenu("Buscador");
informacion
= new JMenu("Ayuda");
//Añadimos el logo
Icon logo
= new ImageIcon(getClass
().
getResource("../img/log.png")); logos.setBounds(225, 140, 350, 75);
add(logos);
logos.setVisible(true); //AQUÍ ESTA LA SOLUCIÓN LO DECLARO VISIBLE
//Añadimos la barra de estado con información del autor.
barraEstado
= new JLabel ("Autor 115.885");
//añadimos la barra
setJMenuBar(menu);
//Añadimos cada opcion del menu
manejadorCampo manejador = new manejadorCampo();
//altas.addActionListener(manejador);
menu.add(gestiones);
gestiones.add(altas);
altas.addActionListener(manejador);
gestiones.add(modificar);
gestiones.add(gestionesItem);
gestiones.add(bajas);
menu.add(buscador);
buscador.add(DNI);
buscador.add(nombre);
menu.add(informacion);
informacion.add(autor);
informacion.add(ayuda);
informacion.add(aviso);
}
//Aqui va el evento.
public void altas()
{
//JLabel titulo de la pagina//
//Creo el tamaño y la fuenta del texto
Font auxFont
= titulo.
getFont(); titulo.
setFont(new Font(auxFont.
getFontName(),auxFont.
getStyle(),
30)); // Lo pongo en la posición deseada
titulo.setBounds(325, 25, 100, 25);
//Agrego
add(titulo);
titulo.setVisible(false);
//////////////////////////
//Cremos el camo nombre
campoNombre
= new JLabel("Nombre:"); campoNombre.setBounds(200, 50, 75, 75);
add(campoNombre);
campoNombre.setVisible(false);
////////////
//Campo Apellidos//
campoApellidos
= new JLabel("Apellidos:"); campoApellidos.setBounds(200, 70, 75, 75);
add(campoApellidos);
campoApellidos.setVisible(false);
////////////////////
//Campo DNI ////
campoDNI
= new JLabel("DNI:"); campoDNI.setBounds(200, 90, 75, 75);
add(campoDNI);
campoDNI.setVisible(false);
/////fecha/////
campoFecha
= new JLabel("Fecha caducidad:"); campoFecha.setBounds(200, 110, 100, 75);
add(campoFecha);
campoFecha.setVisible(false);
///////////
//Creamos el campo textFiel nombre//
textNombre.setBounds(325, 80, 200, 20);
add(textNombre);
/////////////
textApellidos.setBounds(325, 100, 200, 20);
add(textApellidos);
/////////////
textDNI.setBounds(325, 120, 200, 20);
add(textDNI);
//////////////
textFecha.setBounds(325, 140, 200, 20);
add(textFecha);
///Creamos el boton para registrar el DNI
alta
= new JButton("Registrar DNI"); alta.setBounds(325, 180, 200, 20);
add(alta);
}
public void logo() //Creo un metodo con el mismo logo
{
Icon logos
= new ImageIcon(getClass
().
getResource("../img/log.png")); logoFianal.setBounds(225, 140, 350, 75);
add(logoFianal);
}
{
{
if(evento.getSource()== altas)
{
//getContentPane().setBackground(Color.BLACK);
//ventanas alta = new ventanas();
//alta.altas();
logos.setVisible(false); // Ahora oculto el JLabel que estaba en primer lugar
altas();
titulo.setVisible(true);
campoNombre.setVisible(true);
campoApellidos.setVisible(true);
campoDNI.setVisible(true);
campoFecha.setVisible(true);
logo(); //Y declaro el método en último lugar
repaint();
}
}
}
}