import java.awt.*;
import java.awt.event.*;
// OBJETIVO:
// el valor de 2 barras de desplazamiento (Scrollbar) que controlan el ancho y el alto respectivamente
// del componente en tratamiento.
public class Chicle extends java.applet.Applet
{
Scrollbar SB_Ancho, SB_Alto;
Choice Opciones;
Button Boton;
TextField CampoTexto;
// false = Boton
// true = Campo de texto
boolean Componente = false;
public void init( )
{
setLayout(null); // Me permite ser dueño de la posiciòn y del tamaño de los componentes -ABSOLUTO-
SB_Ancho = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 100);
add(SB_Ancho);
SB_Ancho.setBounds(120, 10, 300, 30); // Dimensiones en pixeles
SB_Ancho.addAdjustmentListener(new EVENTO_SCROLL( ) );
SB_Alto = new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 100);
add(SB_Alto);
SB_Alto.setBounds(10, 50, 30, 300); // Dimensiones en pixeles
SB_Alto.addAdjustmentListener(new EVENTO_SCROLLV( ) );
Opciones = new Choice( );
Opciones.add("Boton");
Opciones.add("CampoTexto");
add(Opciones);
Opciones.setBounds(5, 5, 100, 30);
Opciones.addItemListener(new EVENTO_CHOICE( ) ); // CAPTURA DEL EVENTO
Boton = new Button("OK");
add(Boton);
Boton.setBounds(100, 100, 50, 30);
Boton.setVisible(false);
CampoTexto = new TextField( );
add(CampoTexto);
CampoTexto.setBounds(100, 100, 50, 30);
CampoTexto.setVisible(false);
}
// Se usa normalmente para dibujar o escribir
public void paint(Graphics R)
{
}
// ATENCION A LOS EVENTOS
class EVENTO_SCROLL implements AdjustmentListener
{
public void adjustmentValueChanged(AdjustmentEvent e)
{
int Ancho;
int Alto;
if (Componente) // Se trata del Campo de texto
{
Ancho = e.getValue();
Alto = CampoTexto.getHeight( );
CampoTexto.setSize(Ancho, Alto );
}
else
{
// Se trata del Boton
Ancho = e.getValue();
Alto = CampoTexto.getHeight( );
Boton.setSize(Ancho, Alto );
}
}
}
class EVENTO_SCROLLV implements AdjustmentListener
{
public void adjustmentValueChanged(AdjustmentEvent e)
{
int Alto;
int Ancho;
if (Componente) // Se trata del Campo de texto
{
Alto = e.getValue();
Ancho = CampoTexto.getWidth( );
CampoTexto.setSize(Ancho, Alto );
}
else
{
// Se trata del Boton
Alto = e.getValue();
Ancho = CampoTexto.getWidth( );
Boton.setSize(Ancho, Alto );
}
}
}
class EVENTO_CHOICE implements ItemListener
{
public void itemStateChanged(ItemEvent COMPONENTE)
{
String Opcion = (String)COMPONENTE.getItem( );
if (Opcion.equals("CampoTexto") )
{
CampoTexto.setVisible(true);
Boton.setVisible(false);
Componente = true;
}
else
{
CampoTexto.setVisible(false);
Boton.setVisible(true);
Componente = false;
}
}
}
}