📄 swancounter.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -