Foros del Web » Programación para mayores de 30 ;) » Java »

Administrador de diseños por programador con una falla

Estas en el tema de Administrador de diseños por programador con una falla en el foro de Java en Foros del Web. 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). ...
  #1 (permalink)  
Antiguo 26/03/2005, 23:27
 
Fecha de Ingreso: enero-2005
Mensajes: 22
Antigüedad: 19 años, 10 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);
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.