Я создал класс, который расширяет JLabel для использования в качестве объекта, перемещающего JPanel для игры.Проблема окраски класс JLabel другому классу JPanel
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;
}
}
Я пытаюсь добавить его на свой JPanel. Отсюда я буду случайным образом увеличивать его координаты x и y, чтобы плавать вокруг экрана. Я не могу заставить его рисовать себя на JPanel. Я знаю, что есть ключевая концепция, которую мне не хватает здесь, которая включает в себя рисование компонентов на разных панелях. Вот что у меня в классе GamePanel
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);
}
}
Любые предложения о том, как получить это, чтобы добавить к JPanel? Кроме того, это хороший способ, чтобы картинка плавала вокруг экрана случайно для игры?
Переформатированный код; пожалуйста, верните, если это неверно. – trashgod