Plaatje laden in java

Status
Niet open voor verdere reacties.

Ravenix

Gebruiker
Lid geworden
11 jun 2008
Berichten
5
Hallo,

Ik wil een plaatje laden op een plaats dat ik nu een bolletje teken. dit zodat het er wat strakker uit komt te zien. dit is mijn huidige PaintComponent method:
Code:
    public void draw(Graphics g) {
        g.setColor(Color.BLUE);
        g.fillOval(pos.getX(), pos.getY(), 10, 10);
    }

Ik heb hier wel naar gegoogled. maar kwam er niet uit. (ik kwam op dingen als dit maar daar werd ik dus niet wijzer uit.)

Alvast bedankt...:cool:

grtz Ravenix
 
Je verwijst naar het topic waar je niet wijzer uit wordt.
Wat snap je precies niet van de code welke daar gegeven word?
 
nou ik zal eerst de klasse geven die ik wil gaan aanpassen:
Code:
import java.awt.*;

public class Happer extends Entity{
  
    /**
     * Constructor for objects of class Entity
     */
    public Happer(Position dePositie)
    {
       super(dePositie);
    }
    

    @Override
    public void draw(Graphics g){
        g.setColor(Color.RED);
        g.fillOval(pos.getX(), pos.getY(), 10, 10);
    }    
    
    @Override
    public boolean move(int richting){
        if(pos.getBuur(richting) != null && !(pos.getBuur(richting).getEntity() instanceof Entity)){
            pos.setEntity(null);
            pos = pos.getBuur(richting);
            pos.setEntity(this);
            return true;
        }else{
            return false;
        }
    }
}

Als ik nu de code op toepas zoals het in dat topic staat krijg ik dit:

Code:
import java.awt.*;
[B]import java.awt.image.*;[/B]

public class Happer extends Entity{
    [B]private Image happerImage;[/B]
    
    /**
     * Constructor for objects of class Entity
     */
    public Happer(Position dePositie)
    {
       super(dePositie);
       [B]happerImage = getImage(getDocumentBase(), "plaatje.gif"); [/B]
    }
    

    @Override
    public void draw(Graphics g){
        g.setColor(Color.RED);
        [B]g.drawImage(happerImage, pos.getX(), pos.getY(), 10, 10, this); [/B]
    }    
    
    @Override
    public boolean move(int richting){
        if(pos.getBuur(richting) != null && !(pos.getBuur(richting).getEntity() instanceof Entity)){
            pos.setEntity(null);
            pos = pos.getBuur(richting);
            pos.setEntity(this);
            return true;
        }else{
            return false;
        }
    }
}

Als ik dan probeer te compilen krijg ik deze compile error:

Code:
Compiling 1 source file to C:\...\classes
C:\....\Happer.java:30: cannot find symbol
symbol  : method getDocumentBase()
location: class Happer.Happer
       happerImage = getImage(getDocumentBase(), "plaatje.gif"); 
C:\....\Happer.java:38: cannot find symbol
symbol  : method drawImage(java.awt.Image,int,int,int,int,Happer.Happer)
location: class java.awt.Graphics
        g.drawImage(happerImage, pos.getX(), pos.getY(), 10, 10, this);
2 errors
BUILD FAILED (total time: 0 seconds)

hij kan de methodes dus niet vinden? :confused:

Weet iemand raad??

alvast bedankt :cool:

grtz Ravenix
 
hij kent de methode getDocumentBase niet (is dat niet een methode uit Applet?) het beste is als je een ImageIcon maakt en hier dan weer een plaatje van maakt.

ook bestaat er geen methode in Graphics genaamd drawImage waar je als laatste attribuut een Happer object heen stuurt, waarom doe je dat meesturen?
 
ik heb het op de volgende manier uiteindelijk opgelost:

Code:
package Happer;

import java.awt.*;
[B]import java.awt.Image;
import javax.swing.ImageIcon;[/B]


public class Happer extends Entity {

    [b]private ImageIcon tempHapperImage = new ImageIcon("happer.png");
    private Image HapperImage;[/b]


    public Happer(Position dePositie) {
        super(dePositie);
        [b]HapperImage = tempHapperImage.getImage();[/b]

    }


    @Override
    public void draw(Graphics g) {
        g.setColor(Color.RED);
        [b]g.drawImage(HapperImage, pos.getX(), pos.getY(), null);[/b]
    }


    @Override
    public boolean move(int richting) {
        if (pos.getBuur(richting) != null && !(pos.getBuur(richting).getEntity() instanceof Block)) {
            pos.setEntity(null);
            pos = pos.getBuur(richting);
            pos.setEntity(this);
            return true;
        } else {
            return false;
        }
    }
}

hoop dat iemand anders er nog wat aan heeft :)

groetjes Ravenix:cool:
 
trouwens die
Code:
g.setColor(Color.RED);
mag natuurlijk gewoon weg.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan