swancounter.java

来自「鲨鱼攻击猎物游戏 是一个Applet程序」· Java 代码 · 共 65 行

JAVA
65
字号
package shark;

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 + -
显示快捷键?