posted June 01, 2006 01:32 AM -------------------------------------------------------------------------------- Hai All,
I m nikhil. I have a Problem that when I load an image in to jpanel using drawImage method of Graphics class(G.drawImage(Image img,int width,int higth))...It take more time to load. When loading firts a gray color box will be appear on Frame. Then image loaded.How to avaoid this gray color. How to make it fast. I m attaching part of my program with this
import javax.swing.*; import java.awt.*;
public class wbDisplay extends JPanel { Image WB=null; int widthOfWB, heightOfWB;
wbDisplay() {
}
public void createWB() { // This method is responsible for creating the off-screen image. // It should be called before using the WB. It will make a new WB if // the size of the panel changes.
if(WB == null || widthOfWB != getSize().width || heightOfWB != getSize().height) { // Create the WB, or make a new one if panel size has changed. WB = null; // (If WB already exists, this frees up the memory.) WB = createImage(getSize().width, getSize().height); widthOfWB = getSize().width; heightOfWB = getSize().height; Graphics OSG = WB.getGraphics(); // Graphics context for drawing to WB. OSG.setColor(getBackground()); OSG.fillRect(0, 0, widthOfWB, heightOfWB); OSG.dispose(); } }
public void paintComponent(Graphics G) { // Copy the off-screen image to the screen, // after checking to make sure it exists. Then, // if a shsape other than CURVE is being drawn, // draw it on top of the image from the WB.
createWB(); G.drawImage(WB, 0, 0, this);
if (dragging && figure != CURVE ) { G.setColor(foreColor);
When you were asked for code, you ought to have posted it as a reply, with code tags, not started a new thread. And change your display name; the Ranch requires a full last name.