代码如下
import java.awt.*;import javax.swing.*;//图形计数器JCounter三位class JCounter extends JPanel { private static final long serialVersionUID = 1L; private ImageIcon [] numSet = { new ImageIcon("image/c0.gif"), new ImageIcon("image/c1.gif"), new ImageIcon("image/c2.gif"), new ImageIcon("image/c3.gif"), new ImageIcon("image/c4.gif"), new ImageIcon("image/c5.gif"), new ImageIcon("image/c6.gif"), new ImageIcon("image/c7.gif"), new ImageIcon("image/c8.gif"), new ImageIcon("image/c9.gif"), }; private JButton [] counter = { new JButton(numSet[0]), new JButton(numSet[0]), new JButton(numSet[0])}; private int counterNum; private Insets space; public JCounter() { this(0); } public JCounter(int num) { super(); setSize(23, 39); space = new Insets(0,0,0,0); this.counterNum = num; for (int i=0; i< 3; i++){ counter[i].setSize(13,23); counter[i].setMargin(space); add(counter[i]); } this.setVisible(true); resetImage(); } public int getCounterNum() { return(counterNum); } private void setCounterNum(int num){ this.counterNum = num; } private void resetImage() { int ones, tens, hundreds; ones = counterNum % 10 ; tens = counterNum % 100/10; hundreds = (counterNum) % 1000/100; this.counter[0].setIcon(numSet[hundreds]); this.counter[1].setIcon(numSet[tens]); this.counter[2].setIcon(numSet[ones]); } public void resetCounter(int num) { setCounterNum(num); resetImage(); this.repaint(); } public static void main(String[] args) { JFrame jf = new JFrame("Test"); jf.setSize(23,39); JCounter jc = new JCounter(); jf.setContentPane(jc); jf.show(); jc.resetCounter(394); } }
效果图
<ignore_js_op>
详细说明:http://java.662p.com/thread-3209-1-1.html
原文地址:http://9888731.blog.51cto.com/9878731/1610957