?? onlychangeupdate.java
字號:
// 程序:重新定義update()的可能問題
// 范例文件:OnlyChangeUpdate.java
import java.awt.*;
import java.applet.*;
public class OnlyChangeUpdate extends Applet implements Runnable
{
int X,Y,moveX,moveY,width,height;
Thread newThread; //新線程
public void init()
{
X = 0; //X坐標
Y = 0; //Y坐標
moveX = 40; //X軸移動距離
moveY = 40; //Y軸移動距離
width = getSize().width; //Applet的寬度
height = getSize().height; //Applet的高度
setBackground(Color.black); //設定背景為黑色
}
public void start() //start()函數
{
newThread = new Thread(this); //建立與啟動新線程
newThread.start();
}
public void stop() //stop()函數
{
newThread = null; //將線程設為null
}
public void paint(Graphics g)
{
g.setColor(Color.white); //設定前景顏色為白色
g.fillOval(X,Y,30,30); //繪制實心正圓形
}
public void update(Graphics g) //update()函數
{
paint(g); //只單純調用paint()函數
}
public void run()
{
while(newThread != null) //動畫循環
{
repaint(); //重新繪制圖像
try
{
Thread.sleep(80); //暫停程序執行80毫秒
}
catch(InterruptedException E){ }
X = X + moveX; //計算新的X坐標
Y = Y + moveY; //計算新的Y坐標
//碰撞到邊界時就會反彈
if(X >= (width - 30))
{
X = width - 30;
moveX = -moveX;
}
if(X <= 0)
{
X = 0;
moveX = -moveX;
}
if(Y >= (height - 30))
{
Y = height - 30;
moveY = -moveY;
}
if(Y <= 0)
{
Y = 0;
moveY = -moveY;
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -