?? animatoricon.java
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//動畫圖標
public class AnimatorIcon extends JPanel implements ActionListener {
ImageIcon[] images; //用于動畫的圖標數組
Timer animationTimer;
int currentImage = 0; //當前圖像編號
int delay = 500; //圖像切換延遲
int width; //圖像寬度
int height; //圖像高度
public AnimatorIcon() //構造函數
{
setBackground(Color.white);
images = new ImageIcon[2]; //初始化數組
for (int i=0;i<images.length;i++)
images[i]=new ImageIcon(getClass().getResource("image"+i+".gif")); //實例化圖標
width = images[0].getIconWidth(); //初始化寬度值
height = images[0].getIconHeight(); //初始化高度值
}
public void paintComponent(Graphics g) { //重載組件繪制方法
super.paintComponent(g); //調用父類函數
images[currentImage].paintIcon(this,g,70,0); //繪制圖標
currentImage=(currentImage+1)%2; //更改當前圖像編號
}
public void actionPerformed(ActionEvent actionEvent) {
repaint();
}
public void startAnimation() { //開始動畫
if (animationTimer==null) {
currentImage=0;
animationTimer=new Timer(delay, this); //實例化Timer對象
animationTimer.start(); //開始運行
} else if (!animationTimer.isRunning()) //如果沒有運行
animationTimer.restart(); //重新運行
}
public void stopAnimation() {
animationTimer.stop(); //停止動畫
}
public static void main(String args[]) {
AnimatorIcon animation = new AnimatorIcon(); //實例化動畫圖標
JFrame frame = new JFrame("動畫圖標"); //實例化窗口對象
frame.getContentPane().add(animation); //增加組件到窗口上
frame.setSize(200, 100); //設置窗口尺寸
frame.setVisible(true); //設置窗口可視
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關閉窗口時退出程序
animation.startAnimation(); //開始動畫
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -