Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/08/2011, 10:48
Avatar de neoarcangel
neoarcangel
 
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 9 meses
Puntos: 5
Respuesta: No me aparecen los botones, duda de swing basico

Vi ese fallo despues de escribir la pregunta, pero lo he cambiado y sigue sin funcionar.

Ahora el codigo es este

Código PHP:
import javax.swing.*;
import java.awt.*;

public class 
GestoresdediseñoBoxlayout extends JFrame{
    public 
GestoresdediseñoBoxlayout() {
      
super("Pila - Gestores de diseño");
      
      
setSize(300,300);
      
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
setVisible(true);-----------------ESTE ES AÑADIDO
      
//CREAMOS PANEL SUPERIOR
      
JPanel psuperior = new JPanel();
    
        
//CREAMOS BOTONES
      
JButton alta = new JButton("Alta");
      
JButton baja = new JButton("Baja");
      
JButton salvar = new JButton("Salvar");
      
JButton actualizar = new JButton("Actualizar");
       
//GESTOR DE DISEÑO HORIZONTAL(por las x_axis)
      
FlowLayout diseno2 = new FlowLayout(FlowLayout.LEFT);-----------------ESTE ES AÑADIDO
      setLayout
(diseno2);-----------------ESTE ES AÑADIDO
//      BoxLayout disenoh =  new BoxLayout(psuperior, BoxLayout.X_AXIS);
//      setLayout(disenoh);
       
psuperior.add(alta);
      
psuperior.add(baja);
      
psuperior.add(salvar);
      
psuperior.add(actualizar);
      
setVisible(true);

      
      
//PANEL INFERIOR
      
JPanel pinferior = new JPanel();
      
//creamos un area de texto de 4 * 70
      
JTextArea texto = new JTextArea(4,70);
      
//USAMOS UNA BARRA DE SCROLL
      
JScrollPane bscroll = new JScrollPane(texto) ;
      
//GESTOR DE DISEÑO
      
FlowLayout diseno = new FlowLayout(FlowLayout.LEFT);
      
pinferior.setLayout(diseno);
      
//los añadimos al marco principal
      
add(psuperior);
      
add(bscroll);

  
        
    }
    
    public static 
void main(String[] args) {
        
GestoresdediseñoBoxlayout marco = new GestoresdediseñoBoxlayout();
         
marco.setVisible(true);
    }

Pero aparte de cambiar esto
add(psuperior);
add(bscroll);
he buscado ejemplos por ahi y he visto que utilizan 2 setVisible(true);, uno para mostrar los componentes y otro para mostrar la ventana asi que he añadido el que marco arriba y ademas se me ha ocurrido cambiar el gestor de diseño por FLOWLAYOUT y asi, SI se ven los botones, aunque realmente no tiene sentido, por que realmente yo queria usar el boxlayout, por alguna razón este ultimo no me acaba de funcionar.....¿Entendeis el por que?
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333

Última edición por neoarcangel; 08/08/2011 a las 11:19