Imagen JPG (Codigo fuente)
Hola , dejo el codigo fuente de un componente que dibuja una imagen , espero que os ayude
En caso de que encontreis errores por favor , hacedmelo saber para corregirlo
Saludos
/*
* Creado el 03-dic-2005
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana>Preferencias>Java>Generaci贸n de c贸digo>C贸digo y
comentarios
*/
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.ImageIcon;
import javax.swing.Scrollable;
import javax.swing.SwingConstants;
/**
* @author Administrador
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana>Preferencias>Java>Generaci贸n de c贸digo>C贸digo y
comentarios
*/
public class Imagen extends Component implements Scrollable{
public Dimension getPreferredScrollableViewportSize()
{
return this.getPreferredSize();
}
public Imagen()
{
}
public boolean getScrollableTracksViewportHeight() {return false;}
public boolean getScrollableTracksViewportWidth() {return false;}
public int maxUnitIncrement=1;
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction) {
//get the current position
int currentPosition = 0;
if (orientation == SwingConstants.HORIZONTAL)
currentPosition = visibleRect.x;
else
currentPosition = visibleRect.y;
//return the number of pixels between currentPosition
//and the nearest tick mark in the indicated direction
if (direction < 0) {
int newPosition = currentPosition -
(currentPosition / maxUnitIncrement) *
maxUnitIncrement;
return (newPosition == 0) ? maxUnitIncrement : newPosition;
} else {
return ((currentPosition / maxUnitIncrement) + 1) *
maxUnitIncrement - currentPosition;
}
}
public int getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction) {
if (orientation == SwingConstants.HORIZONTAL)
return visibleRect.width - maxUnitIncrement;
else
return visibleRect.height - maxUnitIncrement;
}
private ImageIcon II=null;
public void setImage(String imagen)
{
II=new ImageIcon(imagen);
setPreferredSize(new Dimension(II.getIconWidth(),II.getIconHeight()));
repaint();
}
public void paint(Graphics g)
{
if (II!=null)
II.paintIcon(this,g,0,0);
}
}
En caso de que encontreis errores por favor , hacedmelo saber para corregirlo
Saludos
/*
* Creado el 03-dic-2005
*
* Para cambiar la plantilla para este archivo generado vaya a
* Ventana>Preferencias>Java>Generaci贸n de c贸digo>C贸digo y
comentarios
*/
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.ImageIcon;
import javax.swing.Scrollable;
import javax.swing.SwingConstants;
/**
* @author Administrador
*
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana>Preferencias>Java>Generaci贸n de c贸digo>C贸digo y
comentarios
*/
public class Imagen extends Component implements Scrollable{
public Dimension getPreferredScrollableViewportSize()
{
return this.getPreferredSize();
}
public Imagen()
{
}
public boolean getScrollableTracksViewportHeight() {return false;}
public boolean getScrollableTracksViewportWidth() {return false;}
public int maxUnitIncrement=1;
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction) {
//get the current position
int currentPosition = 0;
if (orientation == SwingConstants.HORIZONTAL)
currentPosition = visibleRect.x;
else
currentPosition = visibleRect.y;
//return the number of pixels between currentPosition
//and the nearest tick mark in the indicated direction
if (direction < 0) {
int newPosition = currentPosition -
(currentPosition / maxUnitIncrement) *
maxUnitIncrement;
return (newPosition == 0) ? maxUnitIncrement : newPosition;
} else {
return ((currentPosition / maxUnitIncrement) + 1) *
maxUnitIncrement - currentPosition;
}
}
public int getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction) {
if (orientation == SwingConstants.HORIZONTAL)
return visibleRect.width - maxUnitIncrement;
else
return visibleRect.height - maxUnitIncrement;
}
private ImageIcon II=null;
public void setImage(String imagen)
{
II=new ImageIcon(imagen);
setPreferredSize(new Dimension(II.getIconWidth(),II.getIconHeight()));
repaint();
}
public void paint(Graphics g)
{
if (II!=null)
II.paintIcon(this,g,0,0);
}
}
