Brauche genaustes Verstaendnis ueber JTextField

Status
Nicht offen für weitere Antworten.

sirbender

Top Contributor
Hallo,

Ich versuche ein recht komplexes Problem zu loesen. Dafuer brauche ich ein sehr genaues Verstaendnis der JTextField, seiner Actions, usw.

Ich habe ein Beispiel geschrieben, dass wenn ich es verstehen wuerde mir sehr weiterhelfen wuerde.

DISCLAIMER: ich weiss dass das Beispiel keinen Sinn macht und man eigentlich so keinen Text setzt, usw. Es geht mir ums Prinzip nicht um eine konkrete Aktion.


Meine Frage ist zunaechst einmal: Warum funktioniert das Pasten wenn ich vorher das JTextField sichtbar mache bzw. warum funktioniert es nicht wenn das JTextField nicht sichtbar ist? Kann mir jemand den Code zeigen in der JRE lib wo verhindert wird dass die PasteAction ausgefuehrt wird wenn das JTextField nicht sichtbar ist?

Ich habe einen Debugger bemueht scheine aber mein Problem nicht zu finden :(

Java:
public class PasteAction {
	
	public static void main(String[] args) {
		JTextField textField = new JTextField();
		
		// funktioniert
		showInWindow(textField);
		
		Action pasteAction = textField.getActionMap().get(DefaultEditorKit.pasteAction);
		
		textField.setText("abc");
		textField.selectAll();
		
		JButton button = new JButton(pasteAction);
		button.doClick();
		
		// funtioniert nicht (vorher obigen Aufruf von showInWindow auskommentieren)
		// showInWindow(textField);
	}

	
	
	private static void showInWindow(JTextField textField) {
		JFrame frame = new JFrame("Demo");
        frame.setContentPane(textField);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setPreferredSize(new Dimension(640,400));
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
	}
}
 
S

SlaterB

Gast
hab mal grob reingeschaut,
die PasteAction schreibt in die Source des Event, falls das ein JTextField ist, ist aber in diesem Fall der JButton,
alternativ wird nach JComponent.getFocusedComponent() geschaut, welches offensichtlich nicht gesetzt ist,
wenn die GUI nicht sichtbar ist:
Java:
    /**
     * Returns the JTextComponent that most recently had focus. The returned
     * value may currently have focus.
     */
    static final JTextComponent getFocusedComponent() {
        return (JTextComponent)AppContext.getAppContext().
            get(FOCUSED_COMPONENT);
    }

mit
pasteAction.actionPerformed(new ActionEvent(textField, 0, null));
funktioniert es bei mir auch ohne Anzeige (und ohne JButton), da die Source korrekt gesetzt ist

edit:
letztlich wird aber nur
textField.paste()
aufgerufen,
falls du das manuell nachstellen willst, wäre dieser Aufruf wohl der kürzeste ;)
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
im Quellcode zur Java-API, in der Klasse DefaultEditorKit eine innere Klasse,
ein zip mit den Quelltexten sollte im installieren JDK-Verzeichnis sein, kann man in Entwicklungsumgebungen wie Eclipse hinzufügen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W JavaFX CSS und Vererbung - ich brauche nochmal etwas Nachhilfe AWT, Swing, JavaFX & SWT 28
J 2D-Grafik Brauche Erklärung von Methode AWT, Swing, JavaFX & SWT 1
B Swing Wann brauche ich repaint() ? AWT, Swing, JavaFX & SWT 1
J Swing Wann brauche ich @Override vor der paint()-Methode? AWT, Swing, JavaFX & SWT 1
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
D Ambitioniertes Projekt - Brauche Stichworte AWT, Swing, JavaFX & SWT 4
D Swing Wozu brauche ich getContentPane()? AWT, Swing, JavaFX & SWT 2
S Ich brauche eine Idee: Animation mit teil eines Bildes AWT, Swing, JavaFX & SWT 16
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
J Brauche ganz dringend Hilfe!!! AWT, Swing, JavaFX & SWT 5
M brauche Hilfe um Einträge aus Jlist zu löschen AWT, Swing, JavaFX & SWT 4
W Brauche Swing-Experten AWT, Swing, JavaFX & SWT 4
P Welchen Listener brauche ich? AWT, Swing, JavaFX & SWT 7
G Welche Swing-Version brauche ich . AWT, Swing, JavaFX & SWT 6
S Wann brauche ich die prepareRenderer() Methode ? AWT, Swing, JavaFX & SWT 2
D Brauche einfachen HTML Editor AWT, Swing, JavaFX & SWT 2
M Ich habe Werte und Brauche Grafik! AWT, Swing, JavaFX & SWT 3
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5
M Brauche nur den Pfad zum Speichern AWT, Swing, JavaFX & SWT 8
M Brauche Hilfe zum Einbinden von eigener Schrfitart AWT, Swing, JavaFX & SWT 3
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
K Ich brauche GridBagLayout Hilfe AWT, Swing, JavaFX & SWT 4
S Frame, brauche dringend hilfe AWT, Swing, JavaFX & SWT 4
M Konsolenprg-Ausgabe in GUI geleitet - Brauche ich Threads? AWT, Swing, JavaFX & SWT 2
N ProgressBar --> brauche Hilfe AWT, Swing, JavaFX & SWT 4
N Brauche Layout-Hilfe AWT, Swing, JavaFX & SWT 3
N Brauche Layout Hilfe AWT, Swing, JavaFX & SWT 9
Z Bei Problem mit Java Swing brauche dringende Hilfe AWT, Swing, JavaFX & SWT 3
O Brauche ich einen neuen Frame? AWT, Swing, JavaFX & SWT 2
V Brauche Hilfe beim Steuern des Sichtbereiches eines JPanel AWT, Swing, JavaFX & SWT 2
D Zoom problem!!! (brauche screenshot...) plz help thx AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben