0
Форма, которая является fillOval, не отображается при запуске моей программы. Я расширил JPanel, но кажется, что что-то не так, потому что я не вижу fillOval. Вот мой код:Форма не отображается на paintComponent метод с использованием Swing
public class MovingBall extends JPanel{
public MovingBall(){
}
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,700);
panel.setBackground(Color.BLACK);
frame.setVisible(true);
MovingBall movingBall = new MovingBall();
frame.add(movingBall);
}
@Override
public void paintComponent(Graphics canvas){
super.paintComponent(canvas);
canvas.setColor(Color.BLUE);
canvas.fillOval(50, 90, 20, 20);
}
}
Вы забыли добавить экземпляр от 'MovingBall' до 'JFrame'? – MadProgrammer
Кроме того, как правило, это плохая идея создать окно в конструкторе (обычно), но особенно в таком компоненте – MadProgrammer
@MadProgrammer okay Я редактировал свой код. Я создаю и добавляю экземпляр MovingBall в JFrame. Но все равно не работает. –