import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import model.Player;
import view.BattlePanel.BattleListener;
import view.BattlePanel.ButtonListener;
import view.BattlePanel.myStockListener;
import view.BattlePanel.otherStockListener;
import view.TitlePanel.TitleListener;
public class RecordPanel {
private GameFrame gf;
private Player player;
private JPanel battlePanel; //最終的に全てを貼り付けるパネル
private JPanel boardPanel; //バトルボード、ストックボードを貼り付けるパネル
private JPanel battleBoardPanel; //バトルボードを生成するパネル
private JPanel myStockBoardPanel; //自分のストックボード
private JPanel otherStockBoardPanel;//敵のストックボード
private JPanel menuPanel; //メニューを貼り付けるパネル
private JPanel recordPanel; //履歴を貼り付けるパネル
private JLabel recordLabel; //ボードに実装するボダン
private JButton reStartButton; //最初からやり直すボタン
//コンストラクタ
public RecordPanel(GameFrame gf,Player player){
this.gf = gf;
this.player = player;
battlePanel = new JPanel(new BorderLayout());
initialize();
}
//バトルパネルを初期化する
public void initialize(){
battleBoardPanel = makeBattlePanel();
myStockBoardPanel = makeStockPanel(true);
otherStockBoardPanel = makeStockPanel(false);
recordPanel = new JPanel();
menuPanel = new JPanel();
reStartButton = new JButton("test");
reStartButton.addActionListener(new ButtonListener());
menuPanel.add(reStartButton);
GridBagLayout layout = new GridBagLayout();
boardPanel = new JPanel();
boardPanel.setLayout(layout);
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
layout.setConstraints(otherStockBoardPanel, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
layout.setConstraints(battleBoardPanel, gbc);
gbc.gridx = 2;
gbc.gridy = 2;
layout.setConstraints(myStockBoardPanel, gbc);
boardPanel.add(otherStockBoardPanel);
boardPanel.add(battleBoardPanel);
boardPanel.add(myStockBoardPanel);
battlePanel.add("Center",boardPanel);
battlePanel.add("West",menuPanel);
battlePanel.add("East",recordPanel);
}
//バトル用のボードを生成する
public JPanel makeBattlePanel(){
JPanel panel = new JPanel(new GridLayout(4,3));
for(int i = 0;i<4;i++){
for(int j = 0;j<3;j++){
recordLabel = new JLabel(i+","+j);
recordLabel.setName(i+","+j);
panel.add(recordLabel);
}
}
return panel;
}
//ストック用のボードを生成する
public JPanel makeStockPanel(boolean b){
JPanel panel = new JPanel(new GridLayout(2,3));
if(b){ //自分のストックボードは正方向で表示する
for(int i = 0;i<2;i++){
for(int j = 0;j<3;j++){
recordLabel = new JLabel(i+","+j);
panel.add(recordLabel);
}
}
}else{ //敵側のストックボードは逆方向で表示する
for(int i = 1;i>=0;i--){
for(int j = 2;j>=0;j--){
recordLabel = new JLabel(i+","+j);
panel.add(recordLabel);
}
}
}
return panel;
}
public class RecordListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自動生成されたメソッド・スタブ
}
}
//ラベル付きボタン用アクションリスナー
public class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自動生成されたメソッド・スタブ
if(e.getActionCommand().equals("test")){
gf.changePanel("title");
}else if(e.getActionCommand().equals("record")){
gf.changePanel("record");
}
}
}
//レコードパネルを返す
JPanel getPanel(){
return recordPanel;
}
}