Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

i've read alot but can't get the p;eces on the board ...

0 views
Skip to first unread message

beelzibub

unread,
Jun 3, 2008, 4:08:52 PM6/3/08
to
package chessbuard;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import javax.swing.event.*;
import javax.swing.border.Border;

class ChessBoard extends JFrame implements MouseListener,
MouseMotionListener {

GridLayout Board = new GridLayout(8, 8);
int drag1, drag2;
int xMove, yMove, labelw, labelh;
JLabel label;
String[] manrow = {"Pawn0", "Pawn1", "Pawn2", "Pawn3", "Pawn4",
"Pawn5", "Pawn6", "Pawn7"};
String[] manrowx = {"Pawn0", "Pawn1", "Pawn2", "Pawn3", "Pawn4",
"Pawn5", "Pawn6", "Pawn7"};
String[] piecerow = {"Rook", "Knight", "Bishop", "Queen", "King",
"Bishop", "Knight", "Rook"};
String[] piecerowx = {"Rook", "Knight", "Bishop", "Queen", "King",
"Bishop", "Knight", "Rook"};

// update these labels position, which is parent jpanel, at each move
JPanel[][] grids;
JLabel[][] pieces;
Dimension pieceSize = new Dimension(100, 100);
Container con;
Component DraggingComp;
GridLayout board;

public ChessBoard() {
super("ChessBoard");
setDefaultCloseOperation(EXIT_ON_CLOSE);

board = new GridLayout();
board.setHgap(4);
board.setVgap(4);
Dimension boardSize = new Dimension(800, 800);
GridChessBoard brd = new GridChessBoard();
con = getContentPane();
con.setLayout((LayoutManager)new GridChessBoard());
con.addMouseListener(this);
con.addMouseMotionListener(this);
grids = new JPanel[8][8];
pieces = new JLabel[8][8];
label = new JLabel("Pawn3");
Dimension d = label.getPreferredSize();
labelw = d.width;
labelh = d.height;
label.setBounds(10, 10, labelw, labelh);
setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);
for (int i = 0; i < 8; ++i) {
for (int j = 0; j < 8; ++j) {
addSquares(i, j);
}
}

setSize(boardSize);
setVisible(true);
} // end constructor

public JFrame addAction(JFrame frame) {
frame.getContentPane().addMouseMotionListener(this);
return frame;
}

public void seeIt(Component c) {
con.add(c);
((JPanel) con).revalidate();
con.setVisible(true);
}

public void moveComponent(Component c, int newX, int newY, int
width, int height) {
System.out.println("in moveComponent");
c.setBounds(newX, newY, labelw, labelh);
c.setSize(pieceSize); // debug, just to see
con.add(c);
((JPanel) con).revalidate();
con.setVisible(true);
}

public String getMan(int i) {
return manrow[i];
}

public String getPiece(int i) {
return piecerow[i];
}

public boolean isOdd(int i) {
return i % 2 != 0;
}

public boolean isEven(int i) {
return i % 2 == 0;
}

public JLabel setBlue(JLabel b1) {
b1.setBackground(Color.blue);
return b1;
}

public JLabel setYellow(JLabel b1) {
b1.setBackground(Color.yellow);
return b1;
}

public void addColors() {
for (int i = 0; i < 64; i++) {
JLabel square = new JLabel("see");
add(square);
int row = (i / 8) % 2;
if (row == 0) {
square.setBackground(i % 2 == 0 ? Color.blue :
Color.yellow);
} else {
square.setBackground(i % 2 == 0 ? Color.yellow :
Color.blue);
}
}
}

public JLabel addBlankRow(int i, int j) {
JLabel square = new JLabel();
if (isEven(j)) {
square.setBackground(i % 2 == 0 ? Color.yellow : Color.blue);
square.setName("blank"); // added
} else {
square.setBackground(i % 2 == 0 ? Color.blue : Color.yellow);
square.setName("blank"); // added
}
return square;
}

public JLabel addManRow(int i, int j) {
String[] m = i == 1 ? manrowx : manrow;
JLabel square = new JLabel();
square.setLayout(new FlowLayout());

int col = j + 1;
if (isEven(col)) {
square.setBackground(i % 2 == 0 ? Color.blue : Color.yellow);
square.add(setYellow(new JLabel(m[j])), JLabel.CENTER);
square.setName(m[j]);// added
} else {
square.setBackground(i % 2 == 0 ? Color.yellow : Color.blue);
square.add(setBlue(new JLabel(m[j])), JLabel.CENTER);
square.setName(m[j]); // added
}
return square;
}

public JLabel addPieceRow(int i, int j) {

String[] m = i == 1 ? piecerow : piecerowx;
JLabel square = new JLabel();
square.setLayout(new FlowLayout());


int col = j;
if (isEven(col) && (col < 8)) {

square.add(setYellow(new JLabel(m[j])), JLabel.CENTER);
square.setBackground(Color.yellow);
square.setName(m[j]); // added
} else {
square.add(setBlue(new JLabel(m[j])), JLabel.CENTER);
square.setBackground(Color.blue);
square.setName(m[j]); // added

}
return square;
}

public JLabel addPieceRowx(int i, int j) {
String[] m = i == 1 ? manrowx : manrow;
JLabel square = (new JLabel(m[j]));
square.setLayout(new FlowLayout());

int col = j + 1;
if (isEven(col)) {
square.setBackground(Color.yellow);
square.add(setYellow(new JLabel(m[j])), JLabel.CENTER);
square.setName(m[j]); // added
} else {
square.setBackground(Color.blue);
square.add(setBlue(new JLabel(m[j])), JLabel.CENTER);
square.setName(m[j]); // added
}
return square;
}

public JLabel addManRowx(int i, int j) {
String[] m = i == 1 ? manrowx : manrow;
JLabel square = new JLabel();
square.setLayout(new FlowLayout());

int col = j + 1;
if (isEven(col)) {
square.setBackground(Color.blue);
square.add(setBlue(new JLabel(m[j])), JLabel.CENTER);
square.setName(m[j]); // added
} else {
square.setBackground(Color.yellow);
square.add(setYellow(new JLabel(m[j])), JLabel.CENTER);
square.setName(m[j]); // added
}
return square;
}

public void addSquares(int i, int j) {

JLabel square = new JLabel();
int col = j;
int row = i;
switch (row) {
case 0:
square = addPieceRow(row, col);
break;
case 1:
square = addManRow(row, col);
break;
case 2:
square = addBlankRow(row, col);
break;
case 3:
square = addBlankRow(row, col);
break;
case 4:
square = addBlankRow(row, col);
break;
case 5:
square = addBlankRow(row, col);
break;
case 6:
square =addManRowx(row, col);
break;
case 7:
square =addPieceRowx(row, col);
break;
}
add(square);

}

public void mousePressed(MouseEvent me) {
System.out.println("in mouse pressed");

// get orriginal coordinates and set text
xMove = me.getX();
yMove = me.getY();
DraggingComp = con.getComponentAt(xMove, yMove);
}

public void mouseDragged(MouseEvent me) {

System.out.println("in mouse dragged");
DraggingComp = con.getComponentAt(xMove, yMove);
if (DraggingComp == null) {
return;
}
xMove = me.getX();
yMove = me.getY();
//moveComponent(findComponentAt(xMove, yMove), xMove, yMove,
labelw, labelh);
}

public void mouseReleased(MouseEvent me) {
}

public void mouseEntered(MouseEvent me) {
}

public void mouseExited(MouseEvent me) {
}

public void mouseMoved(MouseEvent me) {
}

public void mouseClicked(MouseEvent me) {
}

class GridChessBoard { // must be static???

JFrame frame;
Container con;

public GridChessBoard() {
frame = new JFrame("Chess Board made by Hiroshi Iwatani");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
con = frame.getContentPane();

con.setLayout(new GridLayout(8, 8));
for (int i = 0; i < 64; i++) {
JPanel square = new JPanel(new BorderLayout());
Border blackline;
blackline = BorderFactory.createLineBorder(Color.black);
square.setBorder(blackline);
con.add(square);

int row = (i / 8) % 2;
if (row == 0) {
square.setBackground(i % 2 == 0 ? Color.green :
Color.yellow);
} else {
square.setBackground(i % 2 == 0 ? Color.yellow :
Color.green);
}

frame.setSize(800, 800);
frame.setVisible(true);
}
// add pieces/men

for (int k = 0; k < 8; ++k) {
for (int j = 0; j < 8; ++j) {
ChessBoard().addSquares(k, j);
}
}

}

}

public static void main(String[] args) {
// GridChessBoard gcb = new GridChessBoard();
new ChessBoard();
}
}

GArlington

unread,
Jun 10, 2008, 7:49:54 AM6/10/08
to
On Jun 3, 9:08 pm, beelzibub <ccomprehensivecen...@comcast.net> wrote:
> package chessbuard;
>
<snap>

> // add pieces/men
>
> for (int k = 0; k < 8; ++k) {
> for (int j = 0; j < 8; ++j) {
> ChessBoard().addSquares(k, j);
What does the above line of code do???
> }
> }
>
<snap>
Maybe you should just pay someone to write this program for you...

beelzibub

unread,
Aug 8, 2008, 7:14:18 PM8/8/08
to
... oh, you mean and learn nothing???

b

0 new messages