package games;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class viza extends JPanel implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
int x=0, y=200;
Timer tm =new Timer(5,this);
public viza(){
tm.start();
}
public void paintComponent(Graphics g){
g.setColor(Color.red);
g.fillRect(x, y, 20, 20);
}
public void actionPerformed(ActionEvent e){
x=x+1;
y=y+1;
if(x>300)
x=0;
if(x<0)
x=0;
repaint(); //after x and y are changet then I use repaint();
} // the frame is created and the new object is added into the frame.
public static void main(String[] args){
viza a=new viza();
JFrame frame = new JFrame();
frame.setSize(500,500);
frame.add(a);
frame.setVisible(true);
}
}[1]
Код используется для рисования заполненного прямоугольника на панели. Однако, когда я запускаю программу, объект перемещается, но панель не перекрашивается. Если я попытаюсь изменить размер окна во время запуска программы, он загрузится правильно. Как только я перестаю делать это, панель или рамка (не уверен) больше не перекрашиваются. Поэтому я заканчиваю линию.перекрасить() не работает в колебании
И как вы думаете, когда-либо x станет меньше 0? –