Problem painting JLabel class to another JPanel class

Posted by jjpotter on Stack Overflow See other posts from Stack Overflow or by jjpotter
Published on 2010-06-09T14:59:15Z Indexed on 2010/06/09 15:02 UTC
Read the original article Hit count: 253

Filed under:
|
|
|

I have created a class that extends JLabel to use as my object moving around a JPanel for a game.

import javax.swing.*;

public class Head extends JLabel {

int xpos;
int ypos;

int xvel;
int yvel;

ImageIcon chickie = new ImageIcon("C:\\Users\\jjpotter.MSDOM1\\Pictures\\clavalle.jpg");
JLabel myLabel = new JLabel(chickie);

public Head(int xpos, int ypos, int xvel, int yvel){


    this.xpos = xpos;
    this.ypos = ypos;
    this.xvel = xvel;
    this.yvel = yvel;



}

public void draw(){
    myLabel.setLocation(xpos, ypos);
}

public double getXpos() {
    return xpos;
}

public double getYpos() {
    return ypos;
}

public int getXvel() {
    return xvel;
}

public int getYvel() {
    return yvel;
}

public void setPos(int x, int y){

    xpos = x;
    ypos = y;

}


}

I am then trying to add it onto my JPanel. From here I will randomly have it increment its x and y coordinates to float it around the screen. I can not get it to paint itself onto the JPanel. I know there is a key concept I am missing here that involves painting components on different panels. Here is what I have in my GamePanel class

import java.awt.Dimension;
import java.util.Random;
import javax.swing.*;


public class GamePanel extends JPanel {

Random myRand = new Random();
Head head = new Head(20,20,0,0);

public GamePanel(){

    this.setSize(new Dimension(640, 480));
    this.add(head);

}

}

Any suggestions on how to get this to add to the JPanel? Also, is this a good way to go about having the picture float around the screen randomly for a game?

© Stack Overflow or respective owner

Related posts about java

Related posts about jpanel