TextFelder synchronisieren

Status
Nicht offen für weitere Antworten.

malkasten

Mitglied
Hallo zusammen,
ich möchte alle Eingaben, die ich in einem Textfeld mache, auf die übrigen Textfelder gleichzeitig (synchron) übertragen. Ich habe bereits etwas geschrieben, doch mit dem Code stimmt etwas nicht; alle Eingaben werden um eine(n) Zahl/Buchstaben später angezeigt. Weiß nicht woran es liegt.

Code:
jTextField1 = new JTextField();
jTextField2 = new JTextField();
usw.

jTextField1.addKeyListener(newKeyAdapter() {
            public void keyTyped(KeyEvent e) {
                textInput(e);
            }
        });

  private void textInput(KeyEvent e) {
        jTextField2.setText(jTextField1.getText());
        usw.
    }
 

malkasten

Mitglied
Es soll nichts passieren. Natürlich fülle ich nicht n Felder gleich aus! Es gibt drei "Führungs-Textfelder". Je nachdem werden die übrigen Felder nach diesen Führungsgrößen ausgefüllt, da sie nicht editerbar sind.
 

malkasten

Mitglied
Ich verwende doch den KeyListener mit dem ich überprüfe ob eine Eingabe erfolgt ist. Falls dies zutrifft führe ich textInput() aus, oder wie?
 

8ull23y3

Bekanntes Mitglied
KeyListener?! Ahso...synchron. Ha, wer lesen kann ist kla rim Vorteil. :D

Wie schauts mit keyTyped aus?
 
B

Beni

Gast
Versuchs auch mal mit einem DocumentListener (du kannst das Document mit "textfeld.getDocument" erreichen).
 

quincy

Mitglied
Code:
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class KeyListener_Test extends JFrame implements KeyListener {
	String text;
	JTextField[] jtf = new JTextField[4];
	public KeyListener_Test() {
		JFrame jf = new JFrame("KeyListener_Test");
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setBounds(150,150,400,350);
		jf.getContentPane().setLayout(new FlowLayout(7));
		
		jtf[0] = new JTextField("",20);
		jtf[0].setText("");
		jtf[0].addKeyListener(this);
		jtf[1] = new JTextField("",20);
		jtf[1].setText("");
		jtf[1].setEditable(false);
		jtf[2] = new JTextField("",20);
		jtf[2].setText("");
		jtf[2].setEditable(false);
		jtf[3] = new JTextField("",20);
		jtf[3].setText("");
		jtf[3].setEditable(false);
		
		jf.getContentPane().add(jtf[0]);
		jf.getContentPane().add(jtf[1]);
		jf.getContentPane().add(jtf[2]);
		jf.getContentPane().add(jtf[3]);
		
		jf.setVisible(true);
	}
	public void keyPressed(KeyEvent kevt) {
	}
	public void keyReleased(KeyEvent kevt) {
		text = jtf[0].getText();
		jtf[1].setText(text);
		jtf[2].setText(text);
		jtf[3].setText(text);		
		
	}
	public void keyTyped(KeyEvent kevt) {
		
	}
	public static void main(String[] args) {
		new KeyListener_Test();
	}
}

So als Beispiel...

Beim KeyListener müssen die 3 Methoden keyPressed, keyReleased und keyTyped vorhanden sein.
Die Begriffe sind mit ein paar Englischkenntnisse selbsterklärend.
Das Programm leistet Folgendes...
Ich habe ein Array mit TextFeldern instaziiert (nur um ein bisschen Tiparbeit zu sparen).
Das mit dem setText am Anfang kannst du auch weg lassen.
Den KeyListener in verbindung mit keyReleased hab ich an das erste TextFeld dran gehangen und siehe da es klappt. :D
 
M

mr1st

Gast
Es reicht wenn man von KeyAdapter erbt und die Methode keyReleased() überschreibt, da KeyAdapter ja den KeyListener mit leeren Programmrümpfen bereits implementiert. So hat er's auch gemacht, nur benötigt er halt wie bereits erwähnt die keyReleased Methode, nicht die keyTyped.

MfG
 

Reality

Top Contributor
Wenn ich mir fremde Quelltexte so angucke, glaube ich immer, dass bis jetzt fast niemand etwas von KeyAdapter, MouseAdapter usw. gehört hat. Sogar in Profiquelltexte.

Liebe Grüße
Reality
 

Illuvatar

Top Contributor
Vielleicht ist es bei kleinen Klassen ja manchmal geschickter/übersichtlicher, nicht noch eine Extraklasse für das Eventhandling zu machen?
 
R

Roar

Gast
@reality: ja, stimmt, aber du hast da ja n problem wenn deine klasse bereits von einer anderen erbt. dann musst du das interface implementieren und kannst mit den Adaptern nicht viel anfangen, außer du machst ne innere klasse oder so... :-/
 
M

mr1st

Gast
in unserem Fall der ja malkasten aber eine anonyme Klasse geschrieben und in der kann man ohne Probleme erben, auch wenn die Klasse, in der das gemacht wird, schon erbt.

MfG
 

Reality

Top Contributor
Roar hat gesagt.:
@reality: ja, stimmt, aber du hast da ja n problem wenn deine klasse bereits von einer anderen erbt. dann musst du das interface implementieren und kannst mit den Adaptern nicht viel anfangen, außer du machst ne innere klasse oder so... :-/
Kannst ja eine Extra-Klasse machen.

Liebe Grüße
Reality
 

pogo

Bekanntes Mitglied
wie wäre es einfach mit MVC.
steht unter FAQ drinne unter den design patterns.
damit sollte es einfacher und sauberer zu lösen sein
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S gleichzeitiges Ansprechen vieler Textfelder Java Basics - Anfänger-Themen 2
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
I Double.ParseDouble 2 Textfelder Java Basics - Anfänger-Themen 1
P Textfelder Java Basics - Anfänger-Themen 3
Jinnai4 Mehrere Textfelder überprüfen Java Basics - Anfänger-Themen 16
P Textfelder in Variablen speichern Java Basics - Anfänger-Themen 13
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
N CaretListener: leere Textfelder = Button sperren Java Basics - Anfänger-Themen 11
N Problem bei Zugriff auf Textfelder Java Basics - Anfänger-Themen 6
A Ausgabe von Schleifenergebnissen in Textfelder Java Basics - Anfänger-Themen 9
U Dynmische Textfelder erstellen Java Basics - Anfänger-Themen 8
U Kreis um Textfelder zeichnen Java Basics - Anfänger-Themen 4
M Beim Start Methode laden die Textfelder füllt Java Basics - Anfänger-Themen 5
B 2 Textfelder Enter Taste Java Basics - Anfänger-Themen 3
S List angaben in textfelder Java Basics - Anfänger-Themen 7
M Feld übergeben & dann Werte in TextFelder schreiben Java Basics - Anfänger-Themen 4
N Frage zu Listener für Textfelder Java Basics - Anfänger-Themen 5
T Textfelder und ComboBoxen anderst anordnen? Java Basics - Anfänger-Themen 4
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
D Erstellte Textfelder in Applet mit Tab - Taste anspringen Java Basics - Anfänger-Themen 3
G Mehrere Textfelder zusammenfassen Java Basics - Anfänger-Themen 4
P Auf Textfelder einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 2
M Zugriff auf Textfelder über Referenzen? Java Basics - Anfänger-Themen 3
H Textfelder Java Basics - Anfänger-Themen 12
M Textfelder mit Schleife deklarieren? Java Basics - Anfänger-Themen 33
G Rahmen um 5 Textfelder Java Basics - Anfänger-Themen 4
G Anzahl Textfelder zur Laufzeit verändern. Java Basics - Anfänger-Themen 4
DeeDee0815 JRadioButton, actionPerformed und Textfelder Java Basics - Anfänger-Themen 2
P Anordnung Textfelder untereinander? Java Basics - Anfänger-Themen 16
E Textfelder vergrößern Java Basics - Anfänger-Themen 11
C Textfelder auslesen Java Basics - Anfänger-Themen 3
G Änderungen in TextFelder feststellen Java Basics - Anfänger-Themen 4
G textfelder lassen sich nicht anwählen Java Basics - Anfänger-Themen 10
J Hintergrundfarbe für Textfelder Java Basics - Anfänger-Themen 4
D Suche ActionListener und Formatierung für Textfelder Java Basics - Anfänger-Themen 4
M Textfelder aus Array verändern Java Basics - Anfänger-Themen 3
M Viele Textfelder auslesen Java Basics - Anfänger-Themen 3
J Zuviele Textfelder und Labels Java Basics - Anfänger-Themen 2
N "On-The-Fly"-Textfelder Java Basics - Anfänger-Themen 2
G "dynamisch" Textfelder erzeugen Java Basics - Anfänger-Themen 4
F Verzeichnis synchronisieren Java Basics - Anfänger-Themen 3
T Threads Synchronisieren Java Basics - Anfänger-Themen 6
T Threads Threads richtig synchronisieren Java Basics - Anfänger-Themen 3
G Ersetzen eines confirm dialogs/ synchronisieren von methoden Java Basics - Anfänger-Themen 6
V Threads Threads synchronisieren Java Basics - Anfänger-Themen 4
T Thread Synchronisieren Java Basics - Anfänger-Themen 4
H TreeMap/HashMap synchronisieren Java Basics - Anfänger-Themen 2
S Synchronisieren einer Linked List Java Basics - Anfänger-Themen 16
G Threads synchronisieren von threads Java Basics - Anfänger-Themen 4
Dit_ Methoden-Threads synchronisieren Java Basics - Anfänger-Themen 9
A Datentypen Verschiedene Threads synchronisieren Java Basics - Anfänger-Themen 3
L Mehr als zwei Threads synchronisieren Java Basics - Anfänger-Themen 7
S synchronisieren Java Basics - Anfänger-Themen 8
S Threads synchronisieren Java Basics - Anfänger-Themen 4
G Zugriff synchronisieren Java Basics - Anfänger-Themen 7
G Vector Synchronisieren Java Basics - Anfänger-Themen 3
F 2 Programmteile synchronisieren (Threads?) Java Basics - Anfänger-Themen 3
V Threads verschiedener Klassen synchronisieren Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben