Crear Applet a partir de una clase

aalva2
18 de Abril del 2006
Hola a todos!

Tengo hecha en java una clase que muestra en pantalla una imagen y encima de ella una barra con la que se puede hacer zoom sobre ella. Lo que quiero es hacer convertir esa clase en una applet, para poder cargarla desde una página web y verlo en el navegador, pero no tengo ni idea de como hacerlo, he intentado convertirla en una clase applet pero na de na y tampoco me ha salido creando una clase applet nueva, así que no se lo que hacer, si alguien puediera echarme una mano le estaría muy agradecido.
Aquí está el código de la clase, a la que he llamado "Test.class".


import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class Test extends JFrame {
private DefaultBoundedRangeModel modelo =
new DefaultBoundedRangeModel(100,0,0,100);

private JSlider deslizador = new JSlider(modelo);
private JLabel salida = new JLabel("100%");

private ImageIcon imagen = new ImageIcon("grafo1.jpg");
private vistaImagen VistaImagen = new vistaImagen(imagen, modelo);

public Test() {
super("Zoom Out");
Container container = getContentPane();
JPanel panel = new JPanel();

panel.add(new JLabel("Tamaño de la imagen : "));
panel.add(deslizador);
panel.add(salida);

container.add(panel, BorderLayout.NORTH);
container.add(VistaImagen, BorderLayout.CENTER);

modelo.addChangeListener(new salidaSynchronizer());
}
public static void main(String args[]) {
Test zoom = new Test();
zoom.setBounds(0,0,1024,740);
zoom.show();
}
class salidaSynchronizer implements ChangeListener {
public void stateChanged(ChangeEvent e) {
String s = Integer.toString(modelo.getValue());
salida.setText(s + "%");
salida.revalidate();
}
}
}
class vistaImagen extends JScrollPane {
private JPanel panel = new JPanel();
private Dimension tamanioOriginal = new Dimension();
private Image imagenOriginal;
private ImageIcon icono;

public vistaImagen(ImageIcon icono, BoundedRangeModel modelo) {
panel.setLayout(new BorderLayout());
panel.add(new JLabel(icono));

this.icono = icono;
this.imagenOriginal = icono.getImage();

setViewportView(panel);
modelo.addChangeListener(new ModelListener());

tamanioOriginal.width = icono.getIconWidth();
tamanioOriginal.height = icono.getIconHeight();
}
class ModelListener implements ChangeListener {
public void stateChanged(ChangeEvent e) {
BoundedRangeModel modelo =
(BoundedRangeModel)e.getSource();

if(modelo.getValueIsAdjusting()) {
int min = modelo.getMinimum(),
max = modelo.getMaximum(),
span = max - min,
value = modelo.getValue();

double multiplicador = (double)value / (double)span;

multiplicador = multiplicador == 0.0 ?
0.01 : multiplicador;

Image escalado = imagenOriginal.getScaledInstance(
(int)(tamanioOriginal.width * multiplicador),
(int)(tamanioOriginal.height * multiplicador),
Image.SCALE_FAST);

icono.setImage(escalado);
panel.revalidate();
panel.repaint();
}
}
}
}

Muchas Gracias.