Jump to content

  • Log In with Google      Sign In   
  • Create Account


[java] problem display .gif


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 lupine   Members   -  Reputation: 122

Like
Likes
Like

Posted 24 December 2000 - 01:59 PM

just a tiny square comes up where the top left of teh .gif should be can someone please tell me what the corresponding .html of the following code should look like? I think thts whare the problem is ________________________________________________________________ import java.awt.*; import java.applet.*; import java.net.*; public class TrivialApplet extends Applet { Image snake; public void init() { URL codeBase = getCodeBase(); snake = getImage(codeBase, "snake.gif"); resize(250, 250); } public void paint(Graphics g) { int width = snake.getWidth(this); int height = snake.getHeight(this); g.drawRect(52, 52, width+10, height+10); g.drawImage(snake, 57, 57, width, height, this); } }

Sponsor:

#2 tunabox   Members   -  Reputation: 122

Like
Likes
Like

Posted 26 December 2000 - 12:47 AM

Check to see if the width and height is being set to 0.

#3 lupine   Members   -  Reputation: 122

Like
Likes
Like

Posted 27 December 2000 - 02:35 PM

hmmmm...
i take you to mean that getwidth and get height are failing
and defaulting to ZERO.

I tried changing height, width

to 60,60 same result

I get no warnings or errors.

I''ll put up the .html

#4 tunabox   Members   -  Reputation: 122

Like
Likes
Like

Posted 27 December 2000 - 05:04 PM

I tried the code.

If the snake.gif is not found then height and width are set to -1, resulting in only a rectangle being shown.
g.drawRect(52, 52, (-1)+10, (-1)+10);

Write out the codebase to determine where to put snake.gif.



#5 Jim_Ross   Members   -  Reputation: 122

Like
Likes
Like

Posted 28 December 2000 - 05:08 AM

could also be that snake.gif is being found, but not being loaded. getImage returns immedietly and if you try to get the height & width before the image is completely loaded you will bet -1 also. Try adding

while (! snake.getHeight(null) );

to the init() function.

#6 DarkScholar   Members   -  Reputation: 122

Like
Likes
Like

Posted 02 January 2001 - 08:50 AM

I'm not sure if this it but I remember someone else having a similar problem.

Basically when you use the method getImage() it returns straight away and the image isn't actually loaded until the first time it's drawn. This means that when you are calling getWidth() and getHeight() for the first time the image hasn't actually been loaded yet so they return 0 as there's no image to obtain the data from yet. This would explain the tiny square being drawn.

I can't remeber the exact solution to this problem but I remeber that it involved using the ImageObserver interface. I think it was used to preload the image before getWidth( ) and getHeight() were called. I hope this is of some help to you.

- Cedric Kerr

Edited by - DarkScholar on January 2, 2001 3:54:26 PM

#7 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 02 January 2001 - 10:03 AM

yeah I had/have a similar problem. I''m going to use a MediaTracker to fix it. I''ll just pile all my images into it, then wait until it is done, and then proceed with the rest of my program

#8 lupine   Members   -  Reputation: 122

Like
Likes
Like

Posted 04 January 2001 - 12:32 PM

quote:
Original post by Anonymous Poster

yeah I had/have a similar problem. I''m going to use a MediaTracker to fix it. I''ll just pile all my images into it, then wait until it is done, and then proceed with the rest of my program


HMMM...
I''m not familiar with MediaTracker
is that part of java or is it a third party deal?
anyway I kind of need to know exactly why it dosent work
so I can become ninja.

thank you to everyone for your insights,
I have rewritten the program.
(I was actually following a certain tutorial which will remain nameless)
-----------------------------------------------------------------
import java.applet.*;
import java.awt.*;

public class Applet1 extends Applet
{

private Font ONEfont;
public void init()
{
Image lion;
lion= getImage(getCodeBase(),"DB1001.gif");
ONEfont=new Font("Courier",Font.BOLD,48);
setFont(ONEfont);
setBackground(Color.blue);

}
public void paint (Graphics g)
{

g.drawString("Hello World!", 50, 40);
//g.drawImage(lion, 50, 70,this);
//getting a variable not defined message
}
}
-----------------------------------------------------------------

as you can see getting lion=not defined
if I copy the:

Image lion;
lion= getImage(getCodeBase(),"DB1001.gif");

down into the paint method it eliminates the error
and the program runs... without displaying the .gif
which is the same as the problem with the original
program, interesting, yes?
so, I''m keeping the program as above, I''d rather have
a known error then some ghost .gif
(btw I changed the .gif on the off chance there might be a problem there)


#9 lupine   Members   -  Reputation: 122

Like
Likes
Like

Posted 04 January 2001 - 12:34 PM

quote:
Original post by tunabox

I tried the code.

If the snake.gif is not found then height and width are set to -1, resulting in only a rectangle being shown.
g.drawRect(52, 52, (-1)+10, (-1)+10);

Write out the codebase to determine where to put snake.gif.



you, of course, were right about g.drawRect
what do you think of the rewrite/still getting same problem






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS