Pfeiltasten?

cHUCKn0RRIS

Mitglied
Hi
Hab erst gerade angefangen zu lernen, und habe eine Frage zu Pfeiltasten.
Kann man irgendwie so etwas machen:

public class pfeiltasten {
public static void main(String[] args) {

int a =10;

if (Pfeiltaste oben???){
System.out.println(a++);
}if (pfeiltaste unten???){
System.out.println(a-1);
}
}

}

??? Vielen Dank
 

Letavino

Aktives Mitglied
Hallo.
Das müsste man wohl mit einem KeyListener bewerkstelligen.
Doch ob etwas in der Richtung in einer Konsolenanwendung möglich ist, wüsste ich gerade nicht.
Das Problem dabei ist ja, dass du kein darstellbares Zeichen eingibst und es somit nicht einfach zb. über einen Scanner ausgelesen werden kann.

mfg
 
Zuletzt bearbeitet:
J

Jackie Chan

Gast
Seit wann ist mein Freund Chuck blind und kann das da
Java™ Quelltext ist bitte in [ J A V A ]-Tags zu schreiben: [ J A V A ]hier Java Code einfügen[ / J A V A ]
nicht mehr lesen - na ja ich helfe mal

Hi
Hab erst gerade angefangen zu lernen, und habe eine Frage zu Pfeiltasten.
Kann man irgendwie so etwas machen:
Java:
public class pfeiltasten {

	public static void main(String[] args) {
		int a =10;
		if (Pfeiltaste oben???) {
			System.out.println(a++);
		} if (pfeiltaste unten???) {
			System.out.println(a-1);
		}
	}
}
??? Vielen Dank
 

Crian

Top Contributor
Ich hab hier ein Beispiel (auch mal hier im Forum gefunden):

Java:
package graphicalUserInterface;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.InputMap;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

@SuppressWarnings("serial")
public class KeyBindingDemo2 extends JFrame {
    public KeyBindingDemo2() {
        this.setContentPane(new GamePanel());
    }

    class GamePanel extends JPanel {
        private int x, y;
        public GamePanel() {
            Action downAction = new AbstractAction() {
                public void actionPerformed(ActionEvent e) {
                    y+=10;
                }
            };
            Action upAction = new AbstractAction() {
                public void actionPerformed(ActionEvent e) {
                    y-=10;
                }
            };
            InputMap inputMap = this.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
            inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0), "downAction");
            inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0), "upAction");
            this.getActionMap().put("downAction", downAction);
            this.getActionMap().put("upAction", upAction);
            new Thread(new Runnable() {
                public void run() {
                    while(true) {
                        try {
                            Thread.sleep(20);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        calculateNextPos();
                    }
                }
            }).start();
        }

        private void calculateNextPos(){
            x+=5;
            if (x>this.getWidth())
                x=0;
            repaint();
        }

        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.setColor(Color.BLUE);
            g.fillRect(x, y, 10, 10);
        }
    }

    public static void main(String[] args) {
        JFrame frame = new KeyBindingDemo2();
        frame.setBounds(0, 0, 500, 300);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
 

Ähnliche Java Themen

Neue Themen


Oben