📄 playerpad.java
字号:
package org.nebula.games.go;
import org.nebula.cwt.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.*;
import java.net.URL;
public class PlayerPad extends JPanel {
GoPlayer player;
JLabel lbName,lbDead;
NumberTimer timer;
public PlayerPad(NumberTimerListener l, int side, String name, String rank) {
super();
ImageIcon[] timeImages = new ImageIcon[11];
for (int i = 0; i < 11; i++){
timeImages[i] = new ImageIcon(getResource("/resources/timer" + i + ".gif"));
}
// ImageIcon bicon = new ImageIcon(getResource("/resources/redball.gif"));
player = new GoPlayer(side,name,rank,0);
JLabel icon;
if (side == GoPlayer.BLACK) {
icon = new JLabel(new ImageIcon(getResource("/resources/black.jpg")));
}
else {
icon = new JLabel(new ImageIcon(getResource("/resources/white.jpg")));
}
lbName = new JLabel(name + "[" + rank + "]");
lbDead = new JLabel("死子:0");
timer = new NumberTimer(this,timeImages);
// timer = new NumberTimer(this);
timer.setLapseType(NumberTimer.DECREASE);
timer.addNumberTimerListener(l);
// setBackground(new Color(200,200,220));
// setBackground(new Color(96,136,184));
setBackground(new Color(206,207,255));
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gc = new GridBagConstraints();
gc.fill = GridBagConstraints.NONE;
gc.insets = new Insets(6,5,6,5);
setLayout(gbl);
GUITools.addComponentTo(this, icon, gbl, gc, 0, 0, 1, 3, 0.0, 0.0);
GUITools.addComponentTo(this, lbName, gbl, gc, 1, 0, 1, 1, 1.0, 0.0);
GUITools.addComponentTo(this, lbDead, gbl, gc, 1, 1, 1, 1, 1.0, 0.0);
GUITools.addComponentTo(this, timer, gbl, gc, 1, 2, 1, 1, 1.0, 0.0);
// setBorder(BorderFactory.createTitledBorder(""));
// setBorder(BorderFactory.createEtchedBorder(getBackground().darker(), getBackground().brighter()));
// setBorder(BorderFactory.createEtchedBorder(new Color(0,0,100), new Color(150,150,250)));
// setBorder(BorderFactory.createMatteBorder(bicon.getIconHeight(), bicon.getIconWidth(),bicon.getIconHeight(), bicon.getIconWidth(),bicon));
setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.gray, 5),
BorderFactory.createRaisedBevelBorder()),
BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.blue, 3),
BorderFactory.createLoweredBevelBorder())));
}
/*
public Dimension getSize() {
return new Dimension(100,200);
}
*/
/**
* dead operations
*/
public void addDead(int count){
player.addDead(count);
lbDead.setText("死子:" + player.getDead());
}
/*
public void setDead(int count){
dead = count;
lbDead.setText("死子:" + dead);
}
*/
/**
* Timer operation
*/
public void stopTimer() {
timer.stop();
}
public void startTimer() {
timer.start();
}
public void setTimerListener(NumberTimerListener l) {
timer.addNumberTimerListener(l);
}
public void setTime(int curTime){
player.setTimeLeft(curTime);
timer.setTime(curTime);
}
protected URL getResource(String name) {
if (name != null) {
URL url = this.getClass().getResource(name);
return url;
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -