Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/10/2015, 07:09
skirlappa
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: JButton aparece al pasar el puntero del raton

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
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package dni;
  7.  
  8. import java.awt.BorderLayout;
  9. import java.awt.Color;
  10. import java.awt.Container;
  11. import java.awt.FlowLayout;
  12. import java.awt.Font;
  13. import java.awt.GridBagConstraints;
  14. import java.awt.GridBagLayout;
  15. import java.awt.Point;
  16. import static java.awt.SystemColor.menu;
  17. import java.awt.event.ActionEvent;
  18. import java.awt.event.ActionListener;
  19. import java.awt.event.KeyEvent;
  20. import javax.swing.Icon;
  21. import javax.swing.ImageIcon;
  22. import javax.swing.JButton;
  23. import javax.swing.JFrame;
  24. import javax.swing.JMenu;
  25. import javax.swing.JMenuBar;
  26. import javax.swing.JMenuItem;
  27. import javax.swing.JLabel;
  28. import javax.swing.JOptionPane;
  29. import javax.swing.JPanel;
  30. import javax.swing.JTextField;
  31. import javax.swing.SwingConstants;
  32.  
  33. /**
  34.  *
  35.  * @author
  36.  */
  37. public class DNI extends JFrame
  38. {
  39.     private JLabel logos, logoFianal, titulo, campoNombre, campoApellidos, campoDNI, campoFecha;
  40.     private JLabel barraEstado;
  41.     private JTextField textNombre, textApellidos, textDNI, textFecha;
  42.     private JMenu gestiones, buscador, informacion;
  43.     private JMenuItem altas, gestionesItem, bajas, DNI, nombre, autor, ayuda, aviso, modificar;
  44.     private BorderLayout esquema;
  45.     private JButton alta;
  46.  
  47.    
  48.     public DNI()
  49.     {
  50.         //Creamos el texto
  51.         super("DNI OVER");
  52.         //esquema = new BorderLayout(5,5);
  53.         setLayout(null);
  54.        
  55.         //Cremoas la barra del menu
  56.         JMenuBar menu = new JMenuBar();
  57.        
  58.         //Creamos cada opción simple en el menu
  59.         gestiones = new JMenu("Gestiones");
  60.         altas = new JMenuItem ("Altas");
  61.         gestionesItem = new JMenuItem ("Gestiones realizadas");
  62.         modificar = new JMenuItem("Modificar un registro");
  63.         bajas = new JMenuItem ("Dar de baja");
  64.        
  65.        
  66.         buscador = new JMenu("Buscador");
  67.         DNI = new JMenuItem ("Por DNI");
  68.         nombre = new JMenuItem ("Por nombre");
  69.        
  70.         informacion = new JMenu("Ayuda");
  71.         autor = new JMenuItem ("Autor");
  72.         ayuda = new JMenuItem ("Ayuda");
  73.         aviso = new JMenuItem ("Aviso legal");
  74.        
  75.         //Añadimos el logo
  76.  
  77.         Icon logo = new ImageIcon(getClass().getResource("../img/log.png"));
  78.         logos = new JLabel("", logo, SwingConstants.CENTER);
  79.         logos.setBounds(225, 140, 350, 75);
  80.         add(logos);
  81.         logos.setVisible(true);  //AQUÍ ESTA LA SOLUCIÓN LO DECLARO VISIBLE
  82.        
  83.  
  84.        //Añadimos la barra de estado con información del autor.
  85.         barraEstado = new JLabel ("Autor 115.885");
  86.         add(barraEstado, BorderLayout.SOUTH);
  87.        
  88.         //añadimos la barra
  89.         setJMenuBar(menu);
  90.         //Añadimos cada opcion del menu
  91.  
  92.        
  93.         manejadorCampo manejador = new manejadorCampo();
  94.         //altas.addActionListener(manejador);
  95.         menu.add(gestiones);
  96.         gestiones.add(altas);
  97.         altas.addActionListener(manejador);
  98.        
  99.         gestiones.add(modificar);
  100.         gestiones.add(gestionesItem);
  101.         gestiones.add(bajas);
  102.        
  103.         menu.add(buscador);
  104.         buscador.add(DNI);
  105.         buscador.add(nombre);
  106.        
  107.         menu.add(informacion);
  108.         informacion.add(autor);
  109.         informacion.add(ayuda);
  110.         informacion.add(aviso);
  111.        
  112.  
  113.        }
  114.     //Aqui va el evento.
  115.         public void altas()
  116.         {          
  117.                     //JLabel titulo de la pagina//
  118.                    titulo = new JLabel("ALTAS");
  119.                    //Creo el tamaño y la fuenta del texto
  120.                    Font auxFont = titulo.getFont();
  121.                    titulo.setFont(new Font(auxFont.getFontName(),auxFont.getStyle(),30));
  122.                    // Lo pongo en la posición deseada
  123.                    titulo.setBounds(325, 25, 100, 25);
  124.                    //Agrego
  125.                    add(titulo);
  126.                    titulo.setVisible(false);
  127.                    //////////////////////////
  128.                    //Cremos el camo nombre
  129.                    campoNombre = new JLabel("Nombre:");
  130.                    campoNombre.setBounds(200, 50, 75, 75);
  131.                    add(campoNombre);
  132.                    campoNombre.setVisible(false);
  133.                    ////////////
  134.                    //Campo Apellidos//
  135.                    campoApellidos = new JLabel("Apellidos:");
  136.                    campoApellidos.setBounds(200, 70, 75, 75);
  137.                    add(campoApellidos);
  138.                    campoApellidos.setVisible(false);
  139.                    ////////////////////
  140.                    //Campo DNI ////
  141.                    campoDNI = new JLabel("DNI:");
  142.                    campoDNI.setBounds(200, 90, 75, 75);
  143.                    add(campoDNI);
  144.                    campoDNI.setVisible(false);
  145.                    /////fecha/////
  146.                    campoFecha = new JLabel("Fecha caducidad:");
  147.                    campoFecha.setBounds(200, 110, 100, 75);
  148.                    add(campoFecha);
  149.                    campoFecha.setVisible(false);
  150.                    ///////////
  151.                   //Creamos el campo textFiel nombre//
  152.                    textNombre = new JTextField(null);
  153.                    textNombre.setBounds(325, 80, 200, 20);
  154.                    add(textNombre);
  155.                    /////////////
  156.                    textApellidos = new JTextField("");
  157.                    textApellidos.setBounds(325, 100, 200, 20);
  158.                    add(textApellidos);
  159.                    /////////////
  160.                    textDNI = new JTextField("");
  161.                    textDNI.setBounds(325, 120, 200, 20);
  162.                    add(textDNI);
  163.                    //////////////
  164.                    textFecha = new JTextField("");
  165.                    textFecha.setBounds(325, 140, 200, 20);
  166.                    add(textFecha);
  167.                    ///Creamos el boton para registrar el DNI
  168.                    alta = new JButton("Registrar DNI");
  169.                    alta.setBounds(325, 180, 200, 20);
  170.                    add(alta);
  171.         }
  172.          public void logo() //Creo un metodo con el mismo logo
  173.          {
  174.         Icon logos = new ImageIcon(getClass().getResource("../img/log.png"));
  175.         logoFianal = new JLabel("", logos, SwingConstants.CENTER);
  176.         logoFianal.setBounds(225, 140, 350, 75);
  177.         add(logoFianal);
  178.          }
  179.         private class manejadorCampo implements ActionListener
  180.         {
  181.             public void actionPerformed(ActionEvent evento)
  182.             {  
  183.                 if(evento.getSource()== altas)
  184.                 {
  185.                     //getContentPane().setBackground(Color.BLACK);
  186.                     //ventanas alta = new ventanas();
  187.                     //alta.altas();
  188.                             logos.setVisible(false); // Ahora oculto el JLabel que estaba en primer lugar
  189.                             altas();
  190.                             titulo.setVisible(true);
  191.                             campoNombre.setVisible(true);
  192.                             campoApellidos.setVisible(true);
  193.                             campoDNI.setVisible(true);
  194.                             campoFecha.setVisible(true);
  195.                             logo(); //Y declaro el método en último lugar
  196.                             repaint();
  197.                            
  198.                 }
  199.             }
  200.            
  201.         }
  202.    
  203. }