我正在尝试创建一个刽子手游戏,但卡在实际刽子手的显示屏上。它只是显示一个灰色的屏幕,我很难看到我哪里出错了。
import javax.swing.*;
import java.awt.*;
public class HangmanPicture extends JPanel {
int numBodyParts = 0;
public void picturePanel() {
setPreferredSize(new Dimension(700, 400));
setBackground(Color.lightGray);
}
public void paintPicture(Graphics g) {
//if (numBodyParts >= 1) {
// draw face
g.setColor(Color.YELLOW);
g.fillOval(35, 120, 70, 60);
// hat
g.setColor(Color.RED);
g.fillRect(48, 90, 48, 30);
g.fillRect(30, 120, 80, 15);
// draw eyes
g.setColor(Color.GREEN);
g.fillOval(55, 140, 10, 10);
g.fillOval(75, 140, 10, 10);
// smile
g.setColor(Color.RED);
g.drawArc(50, 155, 40, 10, -10, -180);
// if (numBodyParts >= 2) {
// body
g.setColor(Color.GREEN);
g.fillRect(60, 180, 20, 80);
//if (numBodyParts >= 3) {
// left arm
g.setColor(Color.GREEN);
g.fillRect(25, 200, 45, 15);
g.setColor(Color.YELLOW);
g.fillRect(15, 200, 10, 15);
//if (numBodyParts >= 4) {
// right arm
g.setColor(Color.GREEN);
g.fillRect(80, 200, 45, 15);
g.setColor(Color.YELLOW);
g.fillRect(120, 200, 10, 15);
//if (numBodyParts >= 5) {
// left foot
g.setColor(Color.BLACK);
g.fillRect(35, 260, 30, 15);
//if (numBodyParts >= 6) {
// right foot
g.setColor(Color.BLACK);
g.fillRect(70, 260, 30, 15);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Test");
frame.getContentPane().add(new HangmanPicture());
frame.pack();
frame.setVisible(true);
}
}
我现在刚刚尝试展示它,所以我可以了解它是否有效。但它只是显示为一个灰色面板。
不确定我哪里出错了。宁愿朝着正确的方向轻推。
谢谢