6/11 RecordPanel.java | include<stdio.h>のブログ

include<stdio.h>のブログ

ブログの説明を入力します。

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;
}

}