Visa signatur
Crosshair IV | 1055T @ 3.2 GHz | 4 GB Corsair dominator | Corsair H50 | Fractal Design R3 | 2x PowerColor 6950 2GB | Corsair HX 750W
Tjena!
Jag håller på att göra ett Tetris som vi har fått i uppgift att göra i en kurs om objekt orienterad programmering i java. Mitt problem just nu är att jag inte får mina Actions att köra när jag trycker på respektive knapp alltså, höger och vänster pil. Jag har en JFrame som skapar ett objekt av TetrisComponent.
public class TetrisComponent extends JComponent implements BoardListener
{
private Board board;
private Map colorMap;
public TetrisComponent(final Board board,Map colorMap) {
this.colorMap = colorMap;
this.board = board;
Action moveLeft = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
System.out.println(e);
board.moveSideWays("Left");
}
};
this.getInputMap().put(KeyStroke.getKeyStroke("LEFT"), "moveLeft");
this.getActionMap().put("moveLeft", moveLeft);
Action moveRight = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
board.moveSideWays("Right");
}
};
this.getInputMap().put(KeyStroke.getKeyStroke("RIGHT"), "moveRight");
this.getActionMap().put("moveRight", moveRight);
}
}
Tacksam för svar
Vill påpeka att ni inte ska lösa uppgiften åt mig utan berätta vad som är fel och därefter om det nu inte skulle gå att lösa ber jag gärna om direkta lösningar.
Mvh
Dalgren
Crosshair IV | 1055T @ 3.2 GHz | 4 GB Corsair dominator | Corsair H50 | Fractal Design R3 | 2x PowerColor 6950 2GB | Corsair HX 750W
Testade koden och Action-klasserna kallades varje gång jag tryckte höger eller vänster piltangent. Kan inte se vad som är fel.
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.