3Danke
ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
740
740
EMPFEHLEN
-
Hallo!
Ich versuche mich gerade wieder in Java einzuarbeiten und hänge gerade beim Event Management. Ich habe ein Frame geöffnet, welches mir die Bildschirmgröße anzeigt, und dies soll sich beim drücken von Escape wieder schliessen. Tut es aber nicht, es bleibt einfach offen und ich kriege es gar nicht mehr weg. Hier ist der Code:
Habe wirklich keinerlei erklärung, und bin für jede Hilfe dankbar.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
public class ScrnSize extends Window implements KeyListener { public ScrnSize() { super(new Frame()); setBackground(Color.black); setLocation(new Point(0,0)); setSize(getToolkit().getScreenSize()); setVisible(true); this.addKeyListener(this); } public void paint(Graphics g) { g.setColor(Color.red); g.drawString("Die Bildschirmgroesse beträgt"+getSize().width+"*"+getSize().height,10,20); g.drawString("Escape Drücken zum beenden!",10,40); } public void keyPressed(KeyEvent event) { if (event.getKeyCode() == KeyEvent.VK_ESCAPE) { this.setVisible(false); this.dispose(); System.exit(0); } } /* (non-Javadoc) * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent) */ @Override public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent) */ @Override public void keyTyped(KeyEvent arg0) { // TODO Auto-generated method stub } }
Gruß
BeKosGeändert von BeKos (29.04.11 um 14:56 Uhr)
-
Kommt er ueberhaupt in die keyPressed Methode? Wenn ja, welchen Key code hat das Event?
Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
hmmm... wahrscheinlich unterliege ich da wieder einem Verständnissproblem. Ich dachte, dass die keyPressed Methde ausgeführt wird sobald der Benutzer irgendeine Taste drückt. Dabei wird der Keycode generiert und wenn er mit dem von Escape übereinstimmt sollte abgebrochen werden. So zumindest die Theorie, aber irgendwie scheint er den KeyListener einfach zu ignorieren, obwohl er ja geadded wurde.
-
Hatte das Prob auch mal, hast du mal gegoogelt?
Vielleicht hilft dir: http://forum.byte-welt.net/showthread.php?t=1483 Stichwort: KeyAdapterWaere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
29.04.11 19:43 #5
- Registriert seit
- Feb 2009
- Beiträge
- 193
Ich habe dein Programm mal ausgeführt und nen bisschen rumprobiert. Bei mir wurde erst nichts angezeigt, deswegen habe ich einfach mal, weil ich es so gewohnt bin die Superklasse auf JFrame geändert und schon hat es funktioniert. Sieht dann so aus:
Code :1 2 3 4 5
public class ScrnSize extends JFrame implements KeyListener { public ScrnSize() { super("KeyListenerTest"); .......Geändert von Technoblade (30.04.11 um 12:11 Uhr) Grund: Fehler im Quelltext "" für einen String vergessen
-
Besten Dank für eure Antworten. Hab jetzt mal ein Stündchen Zeit und versuche das Umzusetzen.
-
30.04.11 17:49 #7
- Registriert seit
- Jun 2009
- Beiträge
- 870
Problem gelöst?
Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
Danke!
Funktioniert einwandfrei mit dem JFrame. Ich habe ja mittlerweile auch verstanden, dass wenn ich das Testprogramm als Window laufen lassen will und nicht als Frame, dass ich dann den Focus auf dieses Fenster richten muss. Habe ich auch getan:
Code :1 2 3
....... this.requestFocus() .......
aber das scheint nicht zu klappen. In der Java API habe ich dazu auch nur die Aussage gefunden dass es in manchen Fällen einfach nicht möglich ist einem Window den Focus zu geben. Warum auch immer mit Frame funktioniert es ja. Geht es denn andersherum, dass ich bei nem Frame die Titelleiste nicht anzeigen lasse, also es quasi als Window "verkleide" ?Geändert von BeKos (02.05.11 um 10:15 Uhr)
-
02.05.11 10:31 #9SE Tutorials.de Gastzugang
Ja das geht und zwar mit setUndecorated(true)
-
Danke ... jetzt hab ich alles so wie ich es wollte!
Ähnliche Themen
-
KeyListener reagiert teils nicht auf die Leertaste
Von mr12345 im Forum Java GrundlagenAntworten: 6Letzter Beitrag: 20.07.10, 09:42 -
li Listen Problem IE reagiert nicht FF reagiert
Von AdamRiese$ im Forum CSSAntworten: 8Letzter Beitrag: 16.09.08, 12:50 -
KeyListener reagiert nicht!
Von Pichel im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 03.09.08, 14:14 -
KeyListener reagiert nicht
Von Isolated im Forum JavaAntworten: 9Letzter Beitrag: 08.03.07, 21:24 -
KeyListener funktioniert auf Os X nicht
Von vaporizer im Forum JavaAntworten: 2Letzter Beitrag: 16.06.04, 01:24





Zitieren
Login





