Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Χρόνια πολλά σε όλους!

 

Μήπως γνωρίζει κάποιος ποια είναι η αντίστοιχη συνάρτηση της getch της C σε Java?

Η συνάρτηση δηλαδή που δίνει ο χρήστης ένα χαρακτήρα και χωρίς να πατήσει enter ο χαρακτήρας αυτός εισάγεται στο πρόγραμμα :)

Ευχαριστώ.

Δημοσ.

Χρόνια πολλά σε όλους!

 

Μήπως γνωρίζει κάποιος ποια είναι η αντίστοιχη συνάρτηση της getch της C σε Java?

Η συνάρτηση δηλαδή που δίνει ο χρήστης ένα χαρακτήρα και χωρίς να πατήσει enter ο χαρακτήρας αυτός εισάγεται στο πρόγραμμα :)

Ευχαριστώ.

 

Περίμενα να είναι αρκετά απλή η ερώτηση :D

Εγώ πάντως στο google δεν μπόρεσα να βρω κάτι :/

Δημοσ.

Πικρή ιστορία!

 

Δυστυχώς δεν υπάρχει ομοιογενής τρόπος ή τουλάχιστον δεν ξέρω εγώ κάποιον. Δες στο google ποικιλία τρόπων (χωρίς να σημαίνει πως δουλεύουν όλοι ή πως είναι όλοι σωστοί).

 

Για περισσότερα υπάρχουν πιο αρμόδιοι από μένα να απαντήσουν σε απορίες Java :)

Δημοσ.

Δε νομιζω πως δουλευει ουτε στη C ακριβως.

Αυτο που πρεπει να κανεις ειναι να γυρισεις τη console σε αλλο mode. Γιατι τωρα δουλευει σαν stream..

 

For Microsoft languages, there is a SetConsoleMode method that allows you to disable the ENABLE_LINE_INPUT flag, thus switching to character mode.

 

http://www.darkcoding.net/software/non-blocking-console-io-is-not-possible/

Δημοσ.

Μπορείς να δοκιμάσεις μια τέτοια πατέντα ίσως αν σου είναι τόσο απαραίτητο.

Τη λειτουργία της getch στην δίνουν keylisteners όταν μιλάμε για gui οπότε...

 

> 
public static void getCh() {
	final JFrame frame = new JFrame();
	synchronized (frame) {
		frame.setUndecorated(true);
		frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
		frame.addKeyListener(new KeyListener() {
			public void keyPressed(KeyEvent e) {
				synchronized (frame) {
					frame.setVisible(false);
					frame.dispose();
					frame.notify();
				}
			}

			public void keyReleased(KeyEvent e) {
			}

			public void keyTyped(KeyEvent e) {
			}
		});
		frame.setVisible(true);
		try {
			frame.wait();
		} catch (InterruptedException e1) {
		}
	}
}

 

 

Από εκεί και πέρα απλά καλείς στην εφαρμογή σου από την κονσόλα την μέθοδο getCh που έχεις φτιάξει εσύ.

Είναι αρκετά καφρίλα βέβαια tongue.gif

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...