SWT: Mehrere Formatter in einem Textfeld

Chriss_07

Aktives Mitglied
In einem Textfeld lasse ich mir eine Referenznummer anzeigen, die sich aber auch vom Aufbau her ändern kann. Insgesamt gibt es vier verschiede Variationen von Refnummern.
Diese hole ich mit einem
Code:
getRefNummer()
in das Textfeld aus einem Übersichtstable.
ALso oberhalb ein Table, darunter Felder um die Daten zu bearbeiten und anzuzeigen.
Die jeweilige Refnummer hängt natürlich von einem weiteren Kriterium ab, eine Typbezeichnung, sonst wäre es nicht lösbar. Diese vier Typbezeichner sind über eine Combobox auswählbar und bereits mit einem Comboevent soweit mit einem eigenen MaskFormatter ausgestattet. Allerdings kann ich auch die Referenznummer bearbeiten ohne vorher denTyp festzulegen. Nur dann funktioniert der MaskFormatter nicht und ich kann tippen was ich will. Wie kann ich das verbessern?
Hat jemand einen Rat für mich, den das Textfeld ist bereits FormattedText und lässt keine weiteren Listener zu.
Gruß Chriss
 
G

Gast2

Gast
Hat jemand einen Rat für mich, den das Textfeld ist bereits FormattedText und lässt keine weiteren Listener zu.
Gruß Chriss

Wie lässt keine weiteren Listener zu ???:L???

Du kannst von jedem Nebula Widget die das orginal Control zurückgeben lassen. FormattedText#getControl()

Aber dein Problem ist mir nicht klar du kannst doch bei jedem Event den Formatter neu setzen... oder das komplette widget austauschen...
 

Chriss_07

Aktives Mitglied
:oops:
hab
Code:
.getControl()
unterschlagen.
Damit bekomme ich natürlich den Verify Listener.
Zur näheren Erklärung: ICh will natürlich den Formatter neu setzen. Zur Zeit funktioniert es über die Auswahl der ComboBox ( Referenztyp). Da ich die aber nicht immer erst anklicken will, um die Maske dahinter zu haben, soll das Textfeld die jeweilige Maskierung am Typ direkt erkennen und zwar: Habe ich ein Table, indem mir die Datensätze angezeigt werden. Unter dem Table liegen Textfelder, DateChooser usw. in denen die Daten angeziegt werden, wenn ich einen Datensatz im Table markiere. Das läuft über Getter und Setter. Also dachte ich mir:
Java:
RefNr.getControl().addListener (SWT.Verify, new Listener() { // Textfeld Referenznummer
			 
			  public void handleEvent (Event e){
				  String value = TypHelper.getRefTyp();      // Holt den markierten Typ 
					  if (value.equals("Typ1")) {
							MaskFormatterService pnt = new MaskFormatterService("UUU###");
							RefNr.setFormatter(pnt);
						}
						if (value.equals("Typ2")) {

							MaskFormatterService nf = new MaskFormatterService("####-####");
						}

Aber das löst ein Stack OVerflow aus.
 
G

Gast2

Gast
Immer noch kein Plan was du vor hast, hört sich komisch an... Mach ein KSKB
Ich denke mal du hast eine Endlos loop wenn du im verifylistener einen neuen Formatter setzt, weil soviel ich weiß ruft die methode wieder diesen listener auf...

Variablen schreibt man übrigens klein!!!
 

Chriss_07

Aktives Mitglied
Sorry, für ein KSKB fehlte mir die Zeit. Ich hoffe ich kann das am We nachholen.
Den Stack Overflow habe ich mit einer NullPointerException getauscht:). Und zwar
Java:
RefNr.getControl().addListener (SWT.Verify, new Listener() { // Textfeld Referenznummer
             
              public void handleEvent (Event e){
                  TypHelper th = new TypHelper();     
try{                                                             // fängt die NullPointerException ab
                      if (value.equals("Typ1")) {
                            MaskFormatterService pnt = new MaskFormatterService("UUU###");
                            RefNr.setFormatter(pnt);
                        }
                        if (value.equals("Typ2")) {
 
                            MaskFormatterService nf = new MaskFormatterService("####-####");
                        }
} catch (NullPointerException e1) {
						// TODO Auto-generated catch block

Trotzdessen funktioniert die Maskierung nicht und die Referenznummer wird nicht mal mehr angezeigt.
Der VerifyListener ist mit Sicherheit nicht der richtige Ansatz, vielmehr müsste auf den Klick in das Textfeld reagiert werden und nicht schon vorher. Somit könnte das Textfeld den Input anzeigen und wenn in das Textfeld geklickt wird, wird mit dem entsprechenden Typ eine Maskierung über das Textfeld gelegt. Den Typ kann ich dann wieder mit dem
Code:
TypHelper.getRefTyp();
erkennen.
Soviel zur Theorie, ich versuche mich mal an der Praxis mit einem Mouselistener.
 
G

Gast2

Gast
beschreib deine anforderungen genauer... les dir die listener durch was die machen...
aber des was du vor hast hab ich immer noch net gecheckt...
und fang niemals eine RuntimeException was soll des bringen...
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Du kannst in einem VerifyListener und ModifyListener den Text nicht neu setzen...
Aber genau das passiert wenn du den Formatter neu setzt er will in dein Textfeld den neuen String setzen und das funktioniert nicht...
Entweder du machst ein eigenes FormattedText textfeld dass ne Liste von Formattern aufnimmt und du den index angeben musst nach welchem er formattiert
oder
du wechselst aber dein ganzes widget nach bestimmten Bedinungen aus, aber wie gesagt ich weiß ja net was du machen willst...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
S Mehrere Tabellen Zellen gleichzeitig färben AWT, Swing, JavaFX & SWT 5
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
I Scene Builder - mehrere Seiten AWT, Swing, JavaFX & SWT 6
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
M mehrere jTextField untereinander AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
temi JavaFX Mehrere Views mit Stage.setScene() oder mit Scene.setRoot()? AWT, Swing, JavaFX & SWT 7
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
T Swing Tetraeder - mehrere Punkte verbinden? - Ansätze gesucht AWT, Swing, JavaFX & SWT 2
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
J JavaFX - mehrere Views, Model durchreichen AWT, Swing, JavaFX & SWT 10
it_is_all Swing Mehrere JComboBoxen - wie die versch. Boxen mit ItemStateChange auslesen? AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
F JavaFX Mehrere Stages "managen" AWT, Swing, JavaFX & SWT 2
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
S Swing Mehrere Modal-Dialoge übereinander AWT, Swing, JavaFX & SWT 5
T 2D-Grafik JFreeChart mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
C Java FX Warnmeldung: Mehrere Fonts gehören derselben Familie und Stil AWT, Swing, JavaFX & SWT 2
J Mehrere JInternalFrame; GetValues AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
KaffeeFan mehrere JTextField durchlaufen AWT, Swing, JavaFX & SWT 4
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
D Mehrere RadiButtons auswählar AWT, Swing, JavaFX & SWT 3
P Swing JTable mehrere Zeilen markieren AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
T JavaFX FXMLController für mehrere FXML? AWT, Swing, JavaFX & SWT 7
G mehrere Action-Abfolgen erfassen AWT, Swing, JavaFX & SWT 6
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
J Mehrere Hyperlinks "stilvoll" darstellen. AWT, Swing, JavaFX & SWT 1
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
S JavaFX Mehrere TreeTableView's synchron scrollen AWT, Swing, JavaFX & SWT 0
U Mehrere Oberflächeninstanzen seperat schließen AWT, Swing, JavaFX & SWT 5
J Rahmen um mehrere GUI Einzelteile AWT, Swing, JavaFX & SWT 2
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
M Mehrere Fenster innerhalb einer Application AWT, Swing, JavaFX & SWT 3
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
T [LWJGL] mehrere Displays? AWT, Swing, JavaFX & SWT 19
SexyPenny90 Mehrere Fenster AWT, Swing, JavaFX & SWT 2
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
O Swing JLabel mehrere Zeilen AWT, Swing, JavaFX & SWT 2
P mehrere Rectangles per JButton AWT, Swing, JavaFX & SWT 9
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
Jats Zeichen auf mehrere JPanels AWT, Swing, JavaFX & SWT 7
G Mehrere Probleme mit Java's GUI AWT, Swing, JavaFX & SWT 6
G Mehrere Layoutprobleme AWT, Swing, JavaFX & SWT 2
Kenan89 JTable mehrere ListSelections AWT, Swing, JavaFX & SWT 2
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
A mehrere Zeilen in GUi ausgeben AWT, Swing, JavaFX & SWT 2
N Mehrere Tasks nacheinander ausführen AWT, Swing, JavaFX & SWT 7
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
M Mehrere JPanel nacheinander?! AWT, Swing, JavaFX & SWT 11
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
K SWT Mehrere Einträge ins Clipboard legen AWT, Swing, JavaFX & SWT 2
C Swing Ein JFrame mehrere Ansichten AWT, Swing, JavaFX & SWT 8
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
S Mehrere JLists - Wie kennzeichnen? AWT, Swing, JavaFX & SWT 2
S Swing MVC Ein JFrame, mehrere JPanels AWT, Swing, JavaFX & SWT 6
J Mehrere JRadioButtons, aber nur 1 darf ausgewählt sein AWT, Swing, JavaFX & SWT 4
L Swing Mehrere Button die selbe Größe AWT, Swing, JavaFX & SWT 4
B AWT mehrere Fenster schließen AWT, Swing, JavaFX & SWT 8
I Wie mehrere JComboBoxen in Abhängigkeit einer anderen Box ändern? AWT, Swing, JavaFX & SWT 8
G mehrere JPanel in ein (vertikales) JScrollPane AWT, Swing, JavaFX & SWT 8
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4
GianaSisters Swing jTable - Feldtext soll mehrere Zeilen haben AWT, Swing, JavaFX & SWT 3
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
D Mehrere JTabel in einem Frame positionieren AWT, Swing, JavaFX & SWT 5
N mehrere JComboBoxes AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben