首页 > 代码库 > java_AWT之移動的小球。
java_AWT之移動的小球。
先放上源代碼。
package test;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Game extends JPanel{
private int posx = 0;
private int posy = 0;
public void paint(Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.RED);
g2d.fillOval(posx, posy, 50 , 50);
posx += 1;
posy += 1;
}
public static void main(String[] args) throws InterruptedException{
JFrame jframe = new JFrame();
jframe.setTitle("test");
Game game = new Game();
jframe.add(game);
jframe.setSize(300,300);
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
while(true){
game.repaint();
Thread.sleep(10);
}
}
}
然後設斷點,進行調試。
paint(Graphics g)是由AWT線程自動運行的。可以看到右邊有Thread[AWT-EventQueue-0]這個線程。
第一個斷點super.paint(g);用戶重新刷新graphics。
第二個斷點game.repaint()是用來告訴AWT線程再次執行paint();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。