dobber_1987
Legacy Member
Je hebt een JViewport met een JPanel als view. Nu wil ik dat, als ik op de rechter-pijltjestoets klik, het JPanel verschuift. Dat verschuiven zal, veronderstel ik, met de methode setViewPosition(Point point) gebeuren.
Ik zit wat in de knoop met die ActionMap. In de constructor roep ik initActionMap op.
private void initActionMap () {
InputMap im = this.getInputMap();
im.put (KeyStroke.getKeyStroke ("UP"), "up");
im.put (KeyStroke.getKeyStroke ("DOWN"), "down");
im.put (KeyStroke.getKeyStroke ("LEFT"), "left");
im.put (KeyStroke.getKeyStroke ("RIGHT"), "right");
ActionMap am = getActionMap ();
am.put ("up", this.setViewPosition(new Point(this.getViewPosition().translate(0,-50))));
am.put ("down", this.setViewPosition(new Point(this.getViewPosition().translate(0,50))));
am.put ("left", this.setViewPosition(new Point(this.getViewPosition().translate(-50,0))));
am.put ("right", this.setViewPosition(new Point(this.getViewPosition().translate(50,0))));
}
Hij geeft hier de fout dat ik geen void mag gebruiken...maar dat slaagt toch nergens op? Doe ik iets mis?
Ik zit wat in de knoop met die ActionMap. In de constructor roep ik initActionMap op.
private void initActionMap () {
InputMap im = this.getInputMap();
im.put (KeyStroke.getKeyStroke ("UP"), "up");
im.put (KeyStroke.getKeyStroke ("DOWN"), "down");
im.put (KeyStroke.getKeyStroke ("LEFT"), "left");
im.put (KeyStroke.getKeyStroke ("RIGHT"), "right");
ActionMap am = getActionMap ();
am.put ("up", this.setViewPosition(new Point(this.getViewPosition().translate(0,-50))));
am.put ("down", this.setViewPosition(new Point(this.getViewPosition().translate(0,50))));
am.put ("left", this.setViewPosition(new Point(this.getViewPosition().translate(-50,0))));
am.put ("right", this.setViewPosition(new Point(this.getViewPosition().translate(50,0))));
}
Hij geeft hier de fout dat ik geen void mag gebruiken...maar dat slaagt toch nergens op? Doe ik iets mis?