好。我正在写我的 Ball 课程并且没有显示球。我尝试将其他组件添加到我的容器中并显示它们,所以我认为可以安全地假设问题是我的球。类代码:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JComponent;
public class Ball extends JComponent {
public Ball() {
ballX = (Window.WINDOW_WIDTH - BALL_DIAMETER) / 2;
ballY = (Window.WINDOW_HEIGHT - BALL_DIAMETER) / 2;
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawRect(5, 5, 50, 50);
g.setColor(Color.GREEN);
g.fillOval(ballX, ballY, BALL_DIAMETER, BALL_DIAMETER);
g.dispose();
}
public void setX(int x) {
ballX = x;
}
public void setY(int y) {
ballY = y;
}
private int ballX;
private int ballY;
public static final int BALL_DIAMETER = 30;
}
第一个rect用于测试。它既没有出现......
答案 0 :(得分:2)
确保您的组件的首选大小大于(0,0):
@Override
public Dimension getPreferredSize() {
return new Dimension(500, 500);
}
答案 1 :(得分:1)
没有看到将球添加到容器的代码,回答你的问题有点难。
但是,您的代码存在一些问题: