?? counter.java
字號:
/*
* Counter.java 1.0 2003-06-25
*
* Copyleft (c) 2003 RatKing.
*/
package jmine;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.border.LineBorder;
/**
* 計數器
*
* @author <a href="ratking@ynet.com">RatKing</a>
* @version 1.0
*/
public class Counter extends JComponent {
private JMine jmine;
/* private static final ImageIcon[] icon = new ImageIcon[11];
// 載入0~9這10個數字和負號“-”的圖片
static {
for (int i = 0; i < 10; i++) {
icon[i] = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images/n" + i + ".png"));
}
icon[10] = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images/minus.png"));
}
*/
private ImageIcon[] icon = new ImageIcon[11];
private int number;
private ImageIcon[] myIcon = new ImageIcon[3];
public Counter(JMine jmine) {
this(jmine, 0);
}
public Counter(JMine jmine, int number) {
this.jmine = jmine;
// 載入0~9這10個數字和負號“-”的圖片
for (int i = 0; i < 10; i++) {
icon[i] = jmine.createImageIcon("n" + i + ".png", "數字" + i);
}
icon[10] = jmine.createImageIcon("minus.png", "負號");
setNumber(number);
setBorder(LineBorder.createGrayLineBorder());
int width = 0;
int heightMax = 0;
for (int i = 0; i < myIcon.length; i++) {
width += myIcon[i].getIconWidth();
heightMax = (heightMax >= myIcon[i].getIconHeight()
? heightMax
: myIcon[i].getIconHeight());
}
Dimension d = new Dimension(width+2, heightMax+2);
setPreferredSize(d);
setMinimumSize(d);
setMaximumSize(d);
}
public int getNumber() {
return number;
}
public void setNumber(int n) {
number = n;
setIcon(number);
repaint();
}
public void reset() {
setNumber(0);
}
public void increase() {
setNumber(++number);
}
public void decrease() {
setNumber(--number);
}
/**
* 根據參數提供的數字來設置3個圖像
*/
private void setIcon(int n) {
int n1; // 百位數或負號“-”
int n2; // 十位數
int n3; // 個位數
if (n >= 0) {
n1 = (n / 100) % 10;// 百位數
n2 = (n / 10) % 10;
n3 = n % 10;
}
else { // 負數,n < 0
n1 = 10; // 負號“-”
n2 = (-n / 10) % 10;
n3 = -n % 10;
}
myIcon[0] = icon[n1];
myIcon[1] = icon[n2];
myIcon[2] = icon[n3];
}
/** 繪制三個數字 */
public void paintComponent(Graphics g) {
int x = 1;
for (int i = 0; i < myIcon.length; i++) {
g.drawImage(myIcon[i].getImage(), x, 1, this);
x += myIcon[i].getIconWidth();;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -