Hallo,
habe einen Code von einem Freund bekommen und möchte ihn anpassen. Bei der Ausgabe des Schachbretts sollen die buchstabenzahlenkombinationen in den schachfeldern stehen abwechselnd in Weiß/Schwarz von links nach rechts a1 b1 c1 etc nächstes zeile a2 b2 c2:
import java.awt.*;
import javax.swing.*;
public class schachbretttest extends JApplet {
public void init() {
setSize(512, 512);
schachBrett = new Schachbrett();
getContentPane().add(schachBrett, BorderLayout.CENTER);
}
private Schachbrett schachBrett;
}
class Schachbrett extends JPanel{
public Schachbrett(){
setLayout(new BorderLayout());
JPanel brett = new JPanel(new GridLayout(8,8));
JPanel feld = null;
boolean sw = false;
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
feld = new JPanel();
sw = !sw;
feld.setBackground(sw?WHITE:BLACK);
brett.add(feld);
}
sw = !sw;
}
add(brett);
add(new BrettBeschriftung(VERTICAL), BorderLayout.WEST);
add(new BrettBeschriftung(VERTICAL), BorderLayout.EAST);
add(new BrettBeschriftung(HORIZONTAL), BorderLayout.SOUTH);
add(new BrettBeschriftung(HORIZONTAL), BorderLayout.NORTH);
}
private final Color WHITE = new Color(255,255,255);
private final Color BLACK = new Color(0,0,0);
private final boolean HORIZONTAL = true;
private final boolean VERTICAL = false;
class BrettBeschriftung extends JPanel{
private String[] letters = {"a", "b", "c", "d", "e", "f", "g", "h"};
public BrettBeschriftung(boolean horizontal){
setPreferredSize(new Dimension(20,20));
JLabel schrift = null;
if(horizontal){
setLayout(new BorderLayout());
JPanel horizontalPanel = new JPanel();
horizontalPanel.setLayout(new GridLayout(1, 8));
for (int i = 0; i < 8; i++) {
schrift = new JLabel(letters[i]);
schrift.setHorizontalAlignment(JLabel.CENTER);
horizontalPanel.add(schrift);
}
add(horizontalPanel);
JPanel fillWest = new JPanel();
JPanel fillEast = new JPanel();
fillWest.setPreferredSize(new Dimension(20,20));
fillEast.setPreferredSize(new Dimension(20,20));
add(fillWest, BorderLayout.WEST);
add(fillEast, BorderLayout.EAST);
}else{
setLayout(new GridLayout(8, 1));
for (int i = 8; i > 0; i--) {
schrift = new JLabel(""+i);
schrift.setHorizontalAlignment(JLabel.CENTER);
add(schrift);
}
}
}
}
}
vielen dank für eure hilfe