swancounter.java

来自「Java程序设计技巧与开发实例附书源代码。」· Java 代码 · 共 64 行

JAVA
64
字号

import java.awt.FlowLayout;
import javax.swing.*;

public class SwanCounter
        extends JPanel
{
    private JLabel swans[] = null;
    private int numSwans = 0;
    private ImageIcon aSwan = null;
    private StopWatch watch = new StopWatch();

    public SwanCounter(ImageIcon _aSwan, int maxSwans)
    {
        numSwans = maxSwans;
        aSwan = _aSwan;
        swans = new JLabel[maxSwans];
        setLayout(new FlowLayout(FlowLayout.LEFT));
        add(watch);
        for (int i = 0; i < swans.length; i++)
        {
            swans[i] = new JLabel(aSwan);
            add(swans[i]);
        }
    }

    private void fillSlots()
    {
        for (int i = 0; i < numSwans; i++)
        {
            swans[i].setIcon(aSwan);
            swans[i].setText("");
        }
        for (int i = numSwans; i < swans.length; i++)
        {
            swans[i].setIcon(null);
            swans[i].setText(" X ");
        }
    }

    public void remove()
    {
        numSwans--;
        fillSlots();
    }

    public void reset()
    {
        numSwans = swans.length;
        fillSlots();
        watch.start();
    }

    public void stop()
    {
        watch.stop();
    }

    public int getCount()
    {
        return numSwans;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?