Ver Mensaje Individual
  #8 (permalink)  
Antiguo 17/05/2012, 09:12
Avatar de cronopiomx
cronopiomx
 
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: Imagen en jFrame junto a GridLayout!!!???

[/CODE]

Mi Class Board. Java
------------------------------------------------
public class Board{
private JPanel squares[][] = new JPanel[8][8];
private JFrame frame;
private JPanel board = new JPanel();
private JPanel right = new JPanel();
private JPanel up = new JPanel();
private JPanel down = new JPanel();
private JPanel left = new JPanel();
private String [] namePieces = { "src\\images\\wRook.gif", "src\\images\\wKnight.gif",
"src\\images\\wBishop.gif","src\\images\\wQueen.gi f",
"src\\images\\wKing.gif", "src\\images\\wPawn.gif",
"src\\images\\bRook.gif", "src\\images\\bKnight.gif",
"src\\images\\bBishop.gif","src\\images\\bQueen.gi f",
"src\\images\\bKing.gif", "src\\images\\bPawn.gif"
};
private JRadioButton w = new JRadioButton("Blancas", true);
private JRadioButton b = new JRadioButton("Negras ", false);
private JRadioButton [] jradios = new JRadioButton[6];
private boolean option = false;

public Board(JFrame f){ this.frame = f; }
public void buildBoard()
{
frame = new JFrame("My Chess");
frame.setSize(515, 500);
frame.setResizable(false);
// frame.setLayout(new GridLayout(8,8));
board.setLayout(new GridLayout(8,8,4,4));

for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
squares[i][j] = new JPanel();

if ((i + j) % 2 == 0) squares[i][j].setBackground(Color.white);
else squares[i][j].setBackground(Color.black);
board.add(squares[i][j]);
}
}

buildPieces();
frame.add(board, BorderLayout.CENTER);
squares[0][0].add(new JLabel(new ImageIcon(namePieces[0])));
squares[0][1].add(new JLabel(new ImageIcon(namePieces[1])));
squares[0][2].add(new JLabel(new ImageIcon(namePieces[2])));
squares[0][3].add(new JLabel(new ImageIcon(namePieces[4])));
squares[0][4].add(new JLabel(new ImageIcon(namePieces[3])));
squares[0][5].add(new JLabel(new ImageIcon(namePieces[2])));
squares[0][6].add(new JLabel(new ImageIcon(namePieces[1])));
squares[0][7].add(new JLabel(new ImageIcon(namePieces[0])));

squares[7][0].add(new JLabel(new ImageIcon(namePieces[6])));
squares[7][1].add(new JLabel(new ImageIcon(namePieces[7])));
squares[7][2].add(new JLabel(new ImageIcon(namePieces[8])));
squares[7][3].add(new JLabel(new ImageIcon(namePieces[10])));
squares[7][4].add(new JLabel(new ImageIcon(namePieces[9])));
squares[7][5].add(new JLabel(new ImageIcon(namePieces[8])));
squares[7][6].add(new JLabel(new ImageIcon(namePieces[7])));
squares[7][7].add(new JLabel(new ImageIcon(namePieces[6])));

for (int i = 0; i < 8; i++) {
squares[1][i].add(new JLabel(new ImageIcon(namePieces[5])));
squares[6][i].add(new JLabel(new ImageIcon(namePieces[11])));
}

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.setLocationRelativeTo(null); //center screen
frame.setVisible(true);
}
public void buildPieces()
{

right.setBackground(Color.gray);
right.setPreferredSize(new Dimension(75,0));

w.setBackground(right.getBackground());
b.setBackground(right.getBackground());

frame.add(right, BorderLayout.EAST);///falta este panel
paintWhitePieces(0, 6);

up.setBackground(Color.gray);
w.setBackground(up.getBackground());
b.setBackground(up.getBackground());
up.add(new JLabel("Piezas"));
up.add(w);
up.add(b);
up.setPreferredSize(new Dimension(2,40));
frame.add(up, BorderLayout.NORTH);

down.setLayout(new FlowLayout(22));
down.setPreferredSize(new Dimension(2,50));
down.setBackground(Color.gray);
frame.add(down, BorderLayout.SOUTH);

left.setLayout(new GridLayout(8,1,4,4));
left.setPreferredSize(new Dimension(77,50));
left.setBackground(Color.gray);
paintNumbers();
frame.add(left, BorderLayout.WEST);
}
public void paintWhitePieces(int ini, int fin)
{
//right.add(new JLabel("---------------"));
for (int i = ini; i < fin; i++)
{
right.add(new JLabel(new ImageIcon(namePieces[i])));
jradios[i-ini] = new JRadioButton();
jradios[i-ini].setBackground(right.getBackground());
right.add(jradios[i-ini]);
}
}

public void paintNumbers()
{
for (int i =8; i >= 1; i--)left.add(new JLabel(" "+i));
down.add(new JLabel(" a"));
down.add(new JLabel(" b")); down.add(new JLabel(" c"));
down.add(new JLabel(" d")); down.add(new JLabel(" e"));
down.add(new JLabel(" f"));down.add(new JLabel(" g"));
down.add(new JLabel(" h"));
}

///////////RadioButton 2 colores////////////
public void mouseClickjRadioButtonBlack() {
b.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
b.setSelected(true);
w.setSelected(false);
option = false;
right.removeAll();
frame.add(right, BorderLayout.EAST);///falta este panel
paintWhitePieces(6, 12);
frame.setVisible(true);
}
});
}

public void mouseClickjRadioButtonWhite() {
w.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
w.setSelected(true);
b.setSelected(false);
option = true;
right.removeAll();
frame.add(right, BorderLayout.EAST);///falta este panel
paintWhitePieces(0, 6);
frame.setVisible(true);
}
});
}
/////////////end/////////////////

///////////Radio Button 6 piezas////////
public void mouseClickjRadioButtonRook() {
jradios[0].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (jradios[0].isSelected()) {
jradios[1].setSelected(false); jradios[2].setSelected(false);
jradios[3].setSelected(false); jradios[4].setSelected(false); jradios[5].setSelected(false);
}
}
});
}
public void mouseClickjRadioButtonKnight() {
jradios[1].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {

if (jradios[1].isSelected()) {
jradios[0].setSelected(false); jradios[2].setSelected(false);
jradios[3].setSelected(false); jradios[4].setSelected(false); jradios[5].setSelected(false);
}
}
});
}
public void mouseClickjRadioButtonBishop() {
jradios[2].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (jradios[2].isSelected()) {
jradios[0].setSelected(false); jradios[1].setSelected(false);
jradios[3].setSelected(false); jradios[4].setSelected(false); jradios[5].setSelected(false);
}
}
});
}
public void mouseClickjRadioButtonQueen() {
jradios[3].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (jradios[3].isSelected()) {
jradios[0].setSelected(false); jradios[1].setSelected(false);
jradios[2].setSelected(false); jradios[4].setSelected(false); jradios[5].setSelected(false);
}
}
});
}
public void mouseClickjRadioButtonKing() {
jradios[4].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (jradios[4].isSelected()) {
jradios[0].setSelected(false); jradios[1].setSelected(false);
jradios[2].setSelected(false); jradios[3].setSelected(false); jradios[5].setSelected(false);
}
}
});
}
public void mouseClickjRadioButtonPawn() {
jradios[5].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (jradios[5].isSelected()) {
jradios[0].setSelected(false); jradios[1].setSelected(false);
jradios[2].setSelected(false);jradios[3].setSelected(false); jradios[4].setSelected(false);
}
}
});
}
}