Keyboard Input ohne Enter

Kirby.exe

Top Contributor
Gibt es einen Weg Input von der Tastatur zu lesen und Enter zu drücken, wie z.B. beim BufferedReader? Es gibt in Swing the KeyListener, jedoch funktioniert der nach meinem Wissen nicht in der Kommandozeile. Natürlich könnte ich ein GUI basteln, jedoch würde es mich interessieren ob es auch eine Alternative gibt :)
 

Kirby.exe

Top Contributor
Also nochmal bezogen auf meine Frage, ich möchte halt dass Eingaben im Terminal per Tastatur eingelesen werden ohne Enter zu drücken. Beispielsweise wenn die Shift Taste 4 Sekunden gehalten wurde, wird eine Variable auf 100% gesetz(double wert) :)
 

mihe7

Top Contributor
Hier die brutale Variante:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;

public class Test {

    public static void main(String[] args) throws Exception {
        Toolkit.getDefaultToolkit().addAWTEventListener(
            e -> System.out.println(e),
            AWTEvent.KEY_EVENT_MASK);
        JFrame frame = new JFrame("");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setVisible(true);
    }
}
 

Kirby.exe

Top Contributor
Hier die brutale Variante:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;

public class Test {

    public static void main(String[] args) throws Exception {
        Toolkit.getDefaultToolkit().addAWTEventListener(
            e -> System.out.println(e),
            AWTEvent.KEY_EVENT_MASK);
        JFrame frame = new JFrame("");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setVisible(true);
    }
}
Und wenn ich jetzt nur Dinge einlesen möchte, wenn ein Knopf vorher gedrückt wurde? XD
 

abc66

Top Contributor
Hier die brutale Variante:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;

public class Test {

    public static void main(String[] args) throws Exception {
        Toolkit.getDefaultToolkit().addAWTEventListener(
            e -> System.out.println(e),
            AWTEvent.KEY_EVENT_MASK);
        JFrame frame = new JFrame("");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setVisible(true);
    }
}
Fehlt da nicht noch etwas xD das sieht so kurz aus...
 

Kirby.exe

Top Contributor
Also der Code ist seeeeehr seeeeehr hacky aber so hatte ich es jetzt eingefügt, jedoch würde ich den Listender gerne bei erneutem drücken deaktivieren :)

Java:
JButton btnStartstop = new JButton("Start/Stop");
        btnStartstop.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if(ignition) {
                    ignition = false;
                }else {
                    ignition = true;
                    Toolkit.getDefaultToolkit().addAWTEventListener(
                            x -> System.out.println(x),
                            AWTEvent.KEY_EVENT_MASK);
                }
            }
        });
        btnStartstop.setBounds(291, 35, 117, 29);
        frame.getContentPane().add(btnStartstop);
 

mihe7

Top Contributor
Also der Code ist seeeeehr seeeeehr hacky aber so hatte ich es jetzt eingefügt, jedoch würde ich den Listender gerne bei erneutem drücken deaktivieren :)

Java:
public class Test {

    public static void main(String[] args) throws Exception {
        AWTEventListener listener = e -> System.out.println(e);
        JFrame frame = new JFrame("");
        JButton button = new JButton("Start/Stop");
        AtomicBoolean active = new AtomicBoolean();
        button.addActionListener(e -> {
            if (active.getAndSet(!active.get()))
                Toolkit.getDefaultToolkit().addAWTEventListener(
                        listener, AWTEvent.KEY_EVENT_MASK);
            else
                Toolkit.getDefaultToolkit().removeAWTEventListener(
                        listener);
        });
        frame.add(button);
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setVisible(true);
    }
}
 

Kirby.exe

Top Contributor
Also ich muss gestehen der Key Listender confused mich etwas xD Ich möchte eigentlich nur den "Namen" der Taste haben xD Also als Char oder String, relativ egal :)
 

mihe7

Top Contributor
Beispiel:
Java:
// andere imports ...
import static java.awt.event.KeyEvent.KEY_PRESSED;
import static java.awt.event.KeyEvent.KEY_RELEASED;

public class Test {

    private static void handle(KeyEvent e) {
        if (e.getID() != KEY_PRESSED && e.getID() != KEY_RELEASED) {
            return;
        }
        String action = e.getID() == KEY_PRESSED ? "Pressed " : "Released ";
        System.out.println(action + e.getKeyText(e.getKeyCode()));
    }

    public static void main(String[] args) throws Exception {
        AWTEventListener listener = e -> handle((KeyEvent) e);
}
Wichtig: https://docs.oracle.com/javase/8/docs/api/java/awt/event/KeyEvent.html
 

tommysenf

Top Contributor
Gut dass in Auto Infotainment Systemen kein Java läuft xD
Elektrobit https://www.elektrobit.com ist einer der Weltmarktführer für Infotainmentsysteme im Auto (Audi, BMW, Medion, etc). Entwickelt werden diese Großteils in Java. Zumindest war das der Stand vor 8 Jahren, als ich in dem Projekt involviert war. Harte Echtzeitanforderungen existieren in einem Infotainment System auch eher weniger...
 

Kirby.exe

Top Contributor
Beispiel:
Java:
// andere imports ...
import static java.awt.event.KeyEvent.KEY_PRESSED;
import static java.awt.event.KeyEvent.KEY_RELEASED;

public class Test {

    private static void handle(KeyEvent e) {
        if (e.getID() != KEY_PRESSED && e.getID() != KEY_RELEASED) {
            return;
        }
        String action = e.getID() == KEY_PRESSED ? "Pressed " : "Released ";
        System.out.println(action + e.getKeyText(e.getKeyCode()));
    }

    public static void main(String[] args) throws Exception {
        AWTEventListener listener = e -> handle((KeyEvent) e);
}
Wichtig: https://docs.oracle.com/javase/8/docs/api/java/awt/event/KeyEvent.html
Dankeschön :) ich werde es mir mal in ruhe durchlesen :)
 

Kirby.exe

Top Contributor
Elektrobit https://www.elektrobit.com ist einer der Weltmarktführer für Infotainmentsysteme im Auto (Audi, BMW, Medion, etc). Entwickelt werden diese Großteils in Java. Zumindest war das der Stand vor 8 Jahren, als ich in dem Projekt involviert war. Harte Echtzeitanforderungen existieren in einem Infotainment System auch eher weniger...
Ich hatte da mal eine Frage, sind nicht Verkehrmeldungen und Umleitung des Navis Echtzeitanforderungen? Wie handled Java das oder wird das ist eine anderen Sprache programmiert und eingebunden?
 

abc66

Top Contributor
Also ich hatte nicht nur ans Auto Infotainment System gedacht, sondern zum Beispiel auch die Bilderkennung des aktuellen Verkehrsraums... Diese MUSS schnelle, harte Echtzeitanwendungsanforderungen erfüllen; die aber normalerweise nicht in Java, sondern mit einer hardwarenahen Sprache wie C/C++ umgesetzt wird. Also ich handhabe das so, dass ich "den Kern" der Bilderkennung immer aus Java in andere Sprachen auslagere. Anstatt 1 Sekunde braucht der Spaß dann nur noch 50ms zum Beispiel.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Input/Output Tastatur als Midi-Keyboard Allgemeine Java-Themen 2
H Keyboard Layout Wechsel Allgemeine Java-Themen 2
G Keyboard Shortcut (bei nicht aktivem fenster) Allgemeine Java-Themen 2
H Keyboard-Layout verändern Allgemeine Java-Themen 4
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
P Selenium . findElement . input Allgemeine Java-Themen 4
E Input/Output Mikro Input bekommen Allgemeine Java-Themen 4
G Input Frame Allgemeine Java-Themen 6
B In Java Methode mit generic input und output basteln? Allgemeine Java-Themen 4
MoxxiManagarm Credential Input Allgemeine Java-Themen 5
T JSoup findet input Feld nicht?! Wie kann ich das Feld finden? Allgemeine Java-Themen 3
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
I Text aus Input-Box entnehmen und zuweisen Allgemeine Java-Themen 1
J Java Sound Api Sound input und Output auswählen Allgemeine Java-Themen 4
T ImageIO.read -> Can`t read input file Allgemeine Java-Themen 11
T Input und Outputstream , serielle Schnittstelle Allgemeine Java-Themen 1
DanielsLPecke Input/Output Arduino input. Allgemeine Java-Themen 4
H Security Manager (IIOException: Can't read input file!) Allgemeine Java-Themen 2
B Input/Output Konsolen input args Allgemeine Java-Themen 6
M Mikrofon Input simulieren Allgemeine Java-Themen 1
T Threads Input/Output im Thread - Datei ohne Inhalt Allgemeine Java-Themen 1
F FileOutput/Input Objekte Allgemeine Java-Themen 6
C System.in erhält Input von Tastatur. wo wird das festgelegt? Allgemeine Java-Themen 4
N Kalender Normen input/output Allgemeine Java-Themen 2
I Input in cmd Allgemeine Java-Themen 2
K Input file nicht lesbar Allgemeine Java-Themen 9
C Kompletter Pfad aus "input type=file" auslesen Allgemeine Java-Themen 3
B User-Input aus Zahlen und Operatoren - beste Umsetzung? Allgemeine Java-Themen 8
P Ascii Bild aus einem input file nur kommt nix im outputfile an?????? Allgemeine Java-Themen 5
D JOptionPane nur 1 Input möglich? Allgemeine Java-Themen 6
I input-/outputstream Allgemeine Java-Themen 6
T Wie kontinuierlichen asci input parsen? Allgemeine Java-Themen 3
N input programm Allgemeine Java-Themen 3
G Taushen der Input variablen einer method Allgemeine Java-Themen 14
J Binärdateien mit Input/Outputstream lesen und schreiben Allgemeine Java-Themen 3
O Input stream geht net Allgemeine Java-Themen 2
M BufferedReader input - hängt sich auf Allgemeine Java-Themen 4
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
O Maven ein externes jar laden ohne die Applikation neu zu kompilieren Allgemeine Java-Themen 4
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
T Datum OHNE Uhrzeit Zeitzonen-übergreifend Allgemeine Java-Themen 4
N mit sysout, ohne sysout Allgemeine Java-Themen 17
O Programmierprüfung auf moodle ohne Hilfsmittel... Allgemeine Java-Themen 23
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
M Switches ohne String Allgemeine Java-Themen 18
A Java JDK ohne Oracle Konto Allgemeine Java-Themen 5
H Matrix ohne Array erstellen Allgemeine Java-Themen 9
N E-Mail Validator (ohne Regex!) Allgemeine Java-Themen 7
A Java ListNode Element einfügen ohne Bibliothek Allgemeine Java-Themen 6
G Datei aus Ordner wählen, ohne den Dateinamen im Pfad angeben zu müssen Allgemeine Java-Themen 4
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
N Keylistener ohne Dazugehörige Gui Allgemeine Java-Themen 6
P Input/Output entfernte Datei mit Java öffnen ohne Download Allgemeine Java-Themen 5
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
S Potenzieren mit rationalen Potenzen ohne Math.pow Allgemeine Java-Themen 16
F Timestamp in Oracle ohne Formatierung reinbekommen Allgemeine Java-Themen 7
M Drucken ohne Dialog Allgemeine Java-Themen 1
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
J .java-Dateitext Compile zur Laufzeit ohne File Allgemeine Java-Themen 15
O Zugriff auf mySQL ohne JDBC Allgemeine Java-Themen 3
S Input/Output Jave.utill.logging ohne Default-Locale also in Englisch Allgemeine Java-Themen 3
J ftp - delete file ohne appache Allgemeine Java-Themen 8
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
offi Excel mit Inhalten aus DB öffnen ohne zu speichern Allgemeine Java-Themen 8
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
S Java Plugin System (ohne OSGI) Allgemeine Java-Themen 10
G Array ohne Aufzählungszeichen ausgeben Allgemeine Java-Themen 6
Aruetiise Swing JOptionPane ohne denn Thread zu pausieren Allgemeine Java-Themen 1
RalleYTN Audiolänge einer MP3 Datei erhalten ohne diese vollständig zu laden Allgemeine Java-Themen 15
RalleYTN 2D-Grafik Bild ohne AWT, Swing und JavaFX rotieren Allgemeine Java-Themen 12
A BufferedReader ohne System.in Allgemeine Java-Themen 9
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
B Applikation ohne (direkt)Java installiert zu haben auszuführen Allgemeine Java-Themen 8
RalleYTN Datentypen Herausfinden ob Object ein Array ist ohne den Typen des Arrays zu kennen? Allgemeine Java-Themen 12
OnDemand JavaMail ohne Anhang senden Allgemeine Java-Themen 4
N String ins Clipboard kopieren ohne makieren. Allgemeine Java-Themen 12
T Ziffernsumme ohne String Operatoren Allgemeine Java-Themen 4
E Threads Ausführung in Threads ist langsamer als ohne Threads Allgemeine Java-Themen 13
R NullPointerException Ohne Grund Allgemeine Java-Themen 5
RalleYTN JPEG mit CMYK(ohne JAI oder TwelveMonkeys!) Allgemeine Java-Themen 0
P Zwei ArrayLists: Ohne die eine überhaupt anzurühren, wird sie verändert Allgemeine Java-Themen 2
HarleyDavidson Input/Output Heruntergeladene Datei direkt nach dem Download öffnen ohne zu speichern Allgemeine Java-Themen 1
Y String to Double ohne ParseDouble Allgemeine Java-Themen 11
S Methoden ohne Methodenkopf ?! Allgemeine Java-Themen 5
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
A Linux: Native Library mit Rootrechten ohne Prozess mit sudo zu starten Allgemeine Java-Themen 1
A Konstrukt ohne Main für Xml-Parser Allgemeine Java-Themen 1
S Performante Visualisierung groẞer Datenmengen (ohne JFreeChart) Allgemeine Java-Themen 22
M Permutation ohne Wiederholung mit rekursion Allgemeine Java-Themen 4
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
F File.listFiles ohne .sort Allgemeine Java-Themen 6
H Unicode ausgeben ohne Umwandlung - geht das? Allgemeine Java-Themen 3
L iText PDF-Generierung ohne Speichern Allgemeine Java-Themen 10
R Wie schaffe ich es, dass java zB 100 zählt ohne ständig "else if" hinschreiben zu müssen? Allgemeine Java-Themen 7
T Zwei Wortendungen vergleichen ohne .equals Allgemeine Java-Themen 10
J Array ohne vorher festgelegte Länge oder Wie wandle ich Zahlen in Zahlen mit anderen Basen um? Allgemeine Java-Themen 6
M Werte aus DB in Liste speichern ohne mehrfach speicherung Allgemeine Java-Themen 18

Ähnliche Java Themen

Neue Themen


Oben