# Verständnisfragen



## cRaZyYy vIrUs (3. Mai 2010)

Huhu, ich wollte mal fragen, was folgende Code-Zeilen genau machen.. Es bringt schließlich nichts, wenn ich nur das Ergebnis habe, aber den Code nicht nachvollziehen kann:


```
tableFenster.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  tableFenster.add( new JScrollPane(table) );
  tableFenster.pack();
```

Das Erste scheint so eine Art windowListener zu sein..!?
Beim Zweiten... Wieso JScrollPane?


```
eingabeName.addKeyListener(new KeyListener() {
			public void keyPressed(KeyEvent arg0) {
				if(arg0.getKeyCode() == KeyEvent.VK_ENTER) {
					name();
				}
			}
			public void keyReleased(KeyEvent arg0) {
			}
			public void keyTyped(KeyEvent arg0) {
			}
		});
```

Wieso new Key Listener, wieso KeyEvent... getKeyCode()?
Und was macht Released und was Typed?
Ebenso bei dem WindowListener:
windowActivated? windowDeactivated? windowDeiconified? windowIconified?
mouseReleased? mousePressed? 

Eine zusätzliche Frage noch, wie macht man es, dass er auf die Tabulatortaste reagiert?
Bisher ist es so, dass nur was passiert, wenn man manuell mit der Maus in das JTextField klickt...


```
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
		StringSelection stringSelection = new StringSelection(s);
		cb.setContents(stringSelection, stringSelection);
```

Das kann ich am wenigsten nachvollziehen...

Gruß Crazy.

Und Vielen Dank im voraus!


----------



## eRaaaa (3. Mai 2010)

cRaZyYy vIrUs hat gesagt.:


> H
> 
> ```
> tableFenster.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
> ...


1.) Sagt was passieren soll wenn der User "schließen/X..." drückt - 


> "EXIT_ON_CLOSE (defined in JFrame): Exit the application using the System exit method. Use this only in applications."


JFrame (Java Platform SE 6)
2.) Wieso nicht? Wenn die Tabelle viele Einträge enthält kann man halt scrollen 



> ```
> eingabeName.addKeyListener(new KeyListener() {
> public void keyPressed(KeyEvent arg0) {
> if(arg0.getKeyCode() == KeyEvent.VK_ENTER) {
> ...


anonyme innere Klasse , getKeyCode liefert : KeyEvent (Java Platform SE 6)


> Ebenso bei dem WindowListener:
> windowActivated? windowDeactivated? windowDeiconified? windowIconified?
> mouseReleased? mousePressed?


Das sind alles Methoden aus den entsprechenden Interfaces, da man ALLE MEthoden implementieren muss, muss man sie halt einfügen/überschreiben...Abhilfe bringen Adapterklassen: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.5 Es tut sich was – Ereignisse beim AWT



> ```
> Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
> StringSelection stringSelection = new StringSelection(s);
> cb.setContents(stringSelection, stringSelection);
> ...



Da wird etwas in deine Zwischenablage gelegt


----------



## cRaZyYy vIrUs (3. Mai 2010)

Danke schon mal..
Aber wie funktioniert das mit der Tabulatortaste?
Was macht:

```
tableFenster.pack();
```

Und das der Code etwas in die Zwischenablage kopiert, weiß ich... Wie gesagt, ich kenne die Ergebnisse, kann aber den Code nicht nachvollziehen.


----------



## eRaaaa (3. Mai 2010)

cRaZyYy vIrUs hat gesagt.:


> Aber wie funktioniert das mit der Tabulatortaste?


Wie funktioniert was? Kannst du die Frage bitte konkretisieren? Evtl. mit einem Beispiel?


> Was macht:
> 
> ```
> tableFenster.pack();
> ```


Window (Java Platform SE 6)


> Und das der Code etwas in die Zwischenablage kopiert, weiß ich... Wie gesagt, ich kenne die Ergebnisse, kann aber den Code nicht nachvollziehen.


Naja, was soll man da jetzt groß erklären? In Zeile 1 wird sich ein Clipboard-Objekt geholt. Der Inhalt wird durch ein Transferable-Objekt verwaltet (hier StringSelection) , mit Zeile 3 setContents wird dieser gesetzt. Viel besser kann dir das aber wahrscheinlich die Insel erklären: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.23 Die Zwischenablage (Clipboard)


----------



## cRaZyYy vIrUs (3. Mai 2010)

Naja. Ich habe bei einem JTextField einen MouseListener (Clicked), der den Inhalt entfernt..
Wenn ich mit der Tabulatortaste in das Feld wechsel, bleibt alles bestehen..


----------



## eRaaaa (3. Mai 2010)

cRaZyYy vIrUs hat gesagt.:


> Naja. Ich habe bei einem JTextField einen MouseListener (Clicked), der den Inhalt entfernt..
> Wenn ich mit der Tabulatortaste in das Feld wechsel, bleibt alles bestehen..



Sorry, verstehe ich nicht, hast du ne` Tabulatortaste an deiner Maus? :lol: :joke:

Vllt. macht jmd. anderes mal weiter...


----------



## cRaZyYy vIrUs (3. Mai 2010)

eRaaaa hat gesagt.:


> Sorry, verstehe ich nicht, hast du ne` Tabulatortaste an deiner Maus? :lol: :joke:
> 
> Vllt. macht jmd. anderes mal weiter...



Nein. 
Wenn man die Tab-Taste drückt, springt der Cursor doch ins nächste Feld...
Ich will halt, dass der Inhalt des JTextField's auch dann entfernt wird.


----------



## eRaaaa (3. Mai 2010)

Dann ist vllt ein FocusListener das was du suchst!


----------

