Results 1 to 3 of 3
  1. #1
    Join Date
    Feb 2010
    Posts
    3
    Rep Power
    0

    Default Images don't painting

    Hello!
    This is my first post, and I need your help!
    I'm trying to display five images, but I can't. I don't have any error message, any warning!
    I have two classes:

    Class 1:

    Java Code:
    import java.awt.*;
    import javax.swing.JFrame;
    
    /**
        The SimpleScreenManager class manages initializing and
        displaying full screen graphics modes.
    */
    public class SimpleScreenManager {
    
        private GraphicsDevice device;
    
        /**
            Creates a new SimpleScreenManager object.
        */
        public SimpleScreenManager() {
            GraphicsEnvironment environment =
                GraphicsEnvironment.getLocalGraphicsEnvironment();
            device = environment.getDefaultScreenDevice();
        }
    
    
        /**
            Enters full screen mode and changes the display mode.
        */
        public void setFullScreen(DisplayMode displayMode,
            JFrame window)
        {
            window.setUndecorated(true);
            window.setResizable(false);
    
            device.setFullScreenWindow(window);
            if (displayMode != null &&
                device.isDisplayChangeSupported())
            {
                try {
                    device.setDisplayMode(displayMode);
                }
                catch (IllegalArgumentException ex) {
                    // ignore - illegal mode for this device
                }
            }
        }
    
    
        /**
            Returns the window currently used in full screen mode.
        */
        public Window getFullScreenWindow() {
            return device.getFullScreenWindow();
        }
    
    
        /**
            Restores the screen's display mode.
        */
        public void restoreScreen() {
            Window window = device.getFullScreenWindow();
            if (window != null) {
                window.dispose();
            }
            device.setFullScreenWindow(null);
        }
    
    }
    class 2:

    Java Code:
    import java.awt.*;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    
    public class ImageTest extends JFrame {
    
        public static void main(String[] args) {
    
            DisplayMode displayMode;
    
            if (args.length == 3) {
                displayMode = new DisplayMode(
                    Integer.parseInt(args[0]),
                    Integer.parseInt(args[1]),
                    Integer.parseInt(args[2]),
                    DisplayMode.REFRESH_RATE_UNKNOWN);
            }
            else {
                displayMode = new DisplayMode(800, 600, 16,
                    DisplayMode.REFRESH_RATE_UNKNOWN);
            }
    
            ImageTest test = new ImageTest();
            test.run(displayMode);
        }
    
        private static final int FONT_SIZE = 24;
        private static final long DEMO_TIME = 8000;
    
        private SimpleScreenManager screen;
        private Image bgImage;
        private Image opaqueImage;
        private Image transparentImage;
        private Image translucentImage;
        private Image antiAliasedImage;
        private boolean imagesLoaded;
    
        public void run(DisplayMode displayMode) {
            setBackground(Color.blue);
            setForeground(Color.white);
            setFont(new Font("Dialog", Font.PLAIN, FONT_SIZE));
            imagesLoaded = false;
    
            screen = new SimpleScreenManager();
            try {
                screen.setFullScreen(displayMode, this);
                loadImages();
                try {
                    Thread.sleep(DEMO_TIME);
                }
                catch (InterruptedException ex) { }
            }
            finally {
                screen.restoreScreen();
            }
        }
    
    
        public void loadImages() {
            bgImage = loadImage("/images/background.jpg");
            opaqueImage = loadImage("/images/opaque.png");
            transparentImage = loadImage("/images/transparent.png");
            translucentImage = loadImage("/images/translucent.png");
            antiAliasedImage = loadImage("/images/antialiased.png");
            imagesLoaded = true;
            // signal to AWT to repaint this window
            repaint();
        }
    
    
        private Image loadImage(String fileName) {
            return new ImageIcon(fileName).getImage();
        }
    
    
        public void paint(Graphics g) {
            // set text anti-aliasing
            if (g instanceof Graphics2D) {
                Graphics2D g2 = (Graphics2D)g;
                g2.setRenderingHint(
                    RenderingHints.KEY_TEXT_ANTIALIASING,
                    RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
            }
    
            // draw images
            if (imagesLoaded) {
                g.drawImage(bgImage, 0, 0, null);
                drawImage(g, opaqueImage, 0, 0, "Opaque");
                drawImage(g, transparentImage, 320, 0, "Transparent");
                drawImage(g, translucentImage, 0, 300, "Translucent");
                drawImage(g, antiAliasedImage, 320, 300,
                    "Translucent (Anti-Aliased)");
            }
            else {
                g.drawString("Loading Images...", 5, FONT_SIZE);
            }
        }
    
    
        public void drawImage(Graphics g, Image image, int x, int y,
            String caption)
        {
            g.drawImage(image, x, y, null);
            g.drawString(caption, x + 5, y + FONT_SIZE +
                image.getHeight(null));
        }
    
    }
    I see the background, and the Strings, but no images :-(

    Any help will be great!

    Thank you in advance!

    Daniel Lima

  2. #2
    Join Date
    Feb 2010
    Posts
    3
    Rep Power
    0

    Default

    Hello!
    More information!

    if i do this:

    Java Code:
    public void loadImages() {
            bgImage = loadImage("C:/daniel/workspace/ImageTest/src//images/background.jpg");
            opaqueImage = loadImage("/images/opaque.png");
            transparentImage = loadImage("C:/daniel/workspace/ImageTest/src/images/transparent.png");
            translucentImage = loadImage("C:/daniel/workspace/ImageTest/src//images/translucent.png");
            antiAliasedImage = loadImage("C:/daniel/workspace/ImageTest/src//images/antialiased.png");
            imagesLoaded = true;
            // signal to AWT to repaint this window
            repaint();
        }

    It works!
    But I think that I can't put the absolute path im my aplication...
    I'm using the Exclipse IDE

  3. #3
    Join Date
    Feb 2010
    Posts
    3
    Rep Power
    0

    Default

    resolved with:
    Java Code:
    private Image loadImage(String fileName) {
            //return new ImageIcon(fileName).getImage();
        	try 
        	{  
        		return ImageIO.read(getClass().getResource(fileName));  
        	}
        	catch (IOException e) 
        	{  
        		throw new RuntimeException("Unable to load image " + fileName, e);  
    	    }  
        }

Similar Threads

  1. Objects painting themselves?
    By martypapa in forum Java 2D
    Replies: 19
    Last Post: 02-06-2010, 04:08 AM
  2. painting problem
    By hannes in forum New To Java
    Replies: 3
    Last Post: 01-17-2010, 11:44 AM
  3. JPanel not always painting everything
    By ekted in forum AWT / Swing
    Replies: 0
    Last Post: 11-26-2009, 11:24 AM
  4. Jpanel painting problem
    By kcakir in forum AWT / Swing
    Replies: 3
    Last Post: 04-15-2009, 10:21 PM
  5. painting lines when clicking a panel
    By yuriythebest in forum New To Java
    Replies: 0
    Last Post: 12-14-2008, 09:56 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •