 
			
				26/03/2005, 23:27
			
			
			     |  
      |    |    |    Fecha de Ingreso: enero-2005  
						Mensajes: 22
					  Antigüedad: 20 años, 9 meses Puntos: 0     |        |  
  |      Administrador de diseños por programador con una falla        Alguien sabe porque falla este programa. 
El programa trata de administradores de diseño definidos por el programador, donde se implementa la interfaz LayoutManager(administrador de diseños). 
El error es al declarar la clase e implementar el LayoutManager 
class VLayout implements LayoutManager 
^ 
Bueno el código es el siguiente:   
import java.awt.*; 
import java.applet.*;   
public class UserLayout extends Applet  
{ 
   private Choice cb1, cb2; 
   private Button b1, b2, b3;   
   public void init() 
   { 
      // Usar el administrador de diseños en V 
      setLayout( new VLayout() );   
      cb1 = new Choice(); 
      cb1.addItem("Cosa 1"); 
      cb2.addItem("Cosa 2");   
      cb2 = new Choice(); 
      cb2.addItem("Opcion 1"); 
      cb2.addItem("Opcion 2");   
      b1 = new Button("Boton 1"); 
      b2 = new Button("Boton 2"); 
      b3 = new Button("Boton 3");   
      // el Orden es importante 
      add(cb1); 
      add(b1); 
      add(b2); 
      add(b3); 
      add(cb2); 
   } 
}   
// Crear la clase para el diseño definido por el usuario 
class VLayout implements LayoutManager 
{ 
   public void LayoutContainer( Container c ) 
   { 
      int numberOfComponents = c.countComponents();   
      if(numberOfComponents > 5) 
      { 
         numberOfComponents = 5; 
      }   
      Insets i = c.insets(); 
      int w = c.size().width - i.left - i.right; 
      int h = c.size().height - i.bottom - i.top; 
      int x = 0, y = 0;   
      // Calcula valores x y y para cada componente 
      for(int j = 0; j < numberOfComponents; j++) 
      { 
         Component comp = c.getComponent(j); 
         Dimension d = comp.preferredSize();   
         switch (j) 
         { 
            case 0:  // primer componente 
              x = (int) (0.2*w); 
              y = (int) (0.25*h); 
              break;   
            case 1:  // segundo componente 
              x = (int) (0.3*w); 
              y = (int) (0.5*h); 
              break;   
            case 2:  // tercer componente 
              x = (int) (0.4*w); 
              y = (int) (0.75*h); 
              break;   
            case 3:  // cuarto componente 
              x = (int) (0.5*w); 
              y = (int) (0.5*h); 
              break;   
            case 4:  // quinto componente 
              x = (int) (0.6*w); 
              y = (int) (0.25*h); 
              break; 
         }   
         // dimensionar el componente 
         comp.reshape(x, y, d.width, d.height); 
      } 
   }   
   // Estos últimos cuatro métodos deben supeditarse 
   // aunque nuestros administradores de diseños no los usan 
   public void addLayoutComponent( String s, Component c ) 
   { 
      // vacio 
   }   
   public void removeLayoutComponent( Component c ) 
   { 
      // vacio 
   }   
   public Dimension preferredLayoutSize( Container c ) 
   { 
      return minimumLayoutSize(c); 
   }   
   public Dimension minimumLayoutSize( Container c ) 
   { 
      return new Dimension(0, 0); 
   } 
}           |