Identificarte

Versión Completa : Como Importo Imagenes A Un Programa En Java?


Sponsored links
.




La_Discordia
junio 10, 2004, 11:39
Hola!!, PORFAVOR AYUDA URGENTE!!!!
He estado intentando agregar imagenes a un programa en java (Basic Application), pero por mas que he intentado, nomas no quiere dejarse.............................alguien sabe como puedo insertar la bendita imagen??, intente hacer esto, pero no funciona
class Imagen extends Frame {

Image foto;
public Imagen() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}

private void initimagen()
{
foto=getImage(getDocumentBase(), "NORTE.JPEG");

}

public void paint(Graphics g)
{
g.drawImage(foto,1,350,this);
}

public void DesplegarImagen ()
{
foto=getImage(getDocumentBase(), "nada.jpg");
}

public static void main(String args[]) {
System.out.println("Starting Imagen...");
Imagen mainFrame = new Imagen();
mainFrame.setSize(400, 400);
mainFrame.setTitle("Imagen");
mainFrame.setVisible(true);
}
}

Grissom.
junio 10, 2004, 12:04
Mmm hay varias formas, pero usate swing en lugar de awt y haste esto:

new JLabel(new ImageIcon("mifoto.jpg");


ese label se lo agregas al JFrame y listo ...

..

¿Hay chicos y como uso swing? ....

Facil solo importas el paquete javax.swing.*; y a todo lo que usabas antes, le "sampas" J adelante asi:

Frame -> JFrame
Label -> JLabel
Textfield -> JTextField

.. listo?

ZeN<edsadr>
junio 10, 2004, 02:25
juas la explicación básica sobre swing de mr rulas jejejeje, man mira si queres usar imagenes seriamente te recomiendo JAI, ese método que te da el rulas no te queda como muy bien de calidad si es una imagen muy grande, pero si es algo pequeño apenas es.

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;

import javax.media.jai.JAI;
import javax.media.jai.PlanarImage;
import javax.swing.JComponent;

class ImagePanel extends JComponent {
public PlanarImage image1;
protected AffineTransform atx= new AffineTransform();
protected int width, heigth;

public ImagePanel(String archivo) {
image1= JAI.create("fileload", archivo);
width= image1.getWidth();
heigth= image1.getHeight();
}

public void paintComponent(Graphics gc) {
Graphics2D g= (Graphics2D)gc;
Rectangle rect= this.getBounds();
if ((width != rect.width) || (heigth != rect.height)) {
double magx= rect.width / (double)width;
double magy= rect.height / (double)heigth;
atx.setToScale(magx, magy);
}
if (image1 != null)
g.drawRenderedImage(image1, atx);
}
}


pone esa clase en tu proyecto y en tu main le pones esto:


ImagePanel imagen= new ImagePanel("c:\\imagen.jpg");//si estas usando null layout hay que ponerle setBounds() a este objeto
mainframe.getContentPane().add(imagen);//esto antes de ponerla visible y puede variar segun el layout que le tengas


eso si tenes que bajarte el api de JAI(Java Advanced Imaging) aqui http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html y luego instalarlo

batmodem
junio 10, 2004, 09:06
No pa eso no necesita las JAI.....ya una parte de las JAI que es el ImageIO viene en el j2se .....

javax.imageio.ImageIOread(File input): Returns a BufferedImage as the result of decoding a supplied File with an ImageReader chosen automatically from among those currently registered.

no es sino que le metas ahí el archivo y te devuelve un BufferedImage que lo puedes pintar por hay....por ejemplo en ese panel.....

Grissom.
junio 11, 2004, 12:39
batmodem arranco bien y termino cagandola, tenias razón en que "edsadr" quiere matar un mosquito con la bomba atomica de JAI, eso es mucha API para simplemente pintar una foto, a menos que fuera a retocarla y colocarle efectos pero no es el caso.

Simplemente es crear un control e indicarle la imagen para el caso swing de todos modos si insisten en usar AWT pueden usar Image y sus metodos paintImage sin irnos a JAI ni ninguna API tan complicada.

La_Discordia
junio 14, 2004, 05:51
Pues Muchisimas gracias amigos, gracias a algunos concejillos tengo 95 en mi proyecto!!!!!, en vdd, gracias

Grissom.
junio 15, 2004, 10:40
95???? ... por favor, yo habria sacado 100 minimo.

t763rm3n
junio 15, 2004, 10:36
Texto Originalmente Escrito por El_Rulas
95???? ... por favor, yo habria sacado 100 minimo.


este rulas si es chicanero !! :-D