/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
tegn billede på off screen billede??
Fra : Henrik Bruhn


Dato : 02-02-04 12:58

Hej.

Jeg har et problem med at tegne et billede fra fil på Graphics fra et off
screen image.
Der kommer ikke noget på off screen billedet.
Er der nogen, der har et hint?

mvh
Henrik

Jeg indsætter lige et eksempel

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.swing.JComponent;
import javax.swing.JFrame;

public class Windue extends JComponent {
BufferedImage img = null;
Image bgimg = null;

public Windue()
{
bgimg =
Toolkit.getDefaultToolkit().getImage("C:\\eclipse\\workspace\\swingtest\\wor
ld.gif");
}


private void createImg()
{
this.img = (BufferedImage)createImage(600,400);
Graphics2D gc = (Graphics2D)img.createGraphics();
gc.setColor(Color.BLACK);
// Tegn baggrundsbillede?????????
gc.drawImage(bgimg,0,0,this);
gc.drawString("Her skulle der være et baggrundsbillede...", 10, 30);
}

public void paintComponent(Graphics gc)
{
if (getSize().width <= 0 || getSize().height <= 0) return;
if(img == null) createImg();
Graphics2D g2 = (Graphics2D) gc;
// if (bgimg != null && isShowing()) g2.drawImage(bgimg, 0, 0, this); //
Billedet er altså ok.
if (img != null && isShowing()) g2.drawImage(img, 0, 0, this);
}

public static void main(String[] args) {
JFrame frame = new JFrame("Billede test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Windue wind = new Windue();
frame.setContentPane(wind);
frame.pack();
frame.setVisible(true);
frame.setSize(new Dimension(600,500));
frame.repaint();
}
}



 
 
Ulrik Magnusson (03-02-2004)
Kommentar
Fra : Ulrik Magnusson


Dato : 03-02-04 08:11

"Henrik Bruhn" <hb@nospam.dk> wrote in message news:<bvldtv$jp9$1@sunsite.dk>...
> Hej.
>
> Jeg har et problem med at tegne et billede fra fil på Graphics fra et off
> screen image.
> Der kommer ikke noget på off screen billedet.
> Er der nogen, der har et hint?

Du skal bruge en MediaTracker, da Toolkit.getImage()
loader billedet asynkront:

public Windue()
{
bgimg = Toolkit.getDefaultToolkit().getImage("web_logo_left.jpg");
java.awt.MediaTracker tracker = new java.awt.MediaTracker(this);
tracker.addImage(bgimg, 42);
try
{
tracker.waitForID( 42 );
}
catch( InterruptedException e )
{}
}

Ulrik Magnusson

Henrik Bruhn (03-02-2004)
Kommentar
Fra : Henrik Bruhn


Dato : 03-02-04 08:34

Hej Ulrik.

1000 tak for dit svar. Det var lige det, der skulle til.

mvh
Henrik



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408918
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste