Text von Textfeldern verarbeiten

F

Fleit

Gast
Hallo,
ich habe folgendes problem. ich habe 4 textfelder (tage, stunden, minuten, sekunden) dazu eine methode die alles zusammen in sekunden umrechnet. ich gehe davon aus das nur zahlen eingegeben werden von daher fange ich das nicht extra ab. so nun zum eigentlichen problem wenn jetzt in einem textfeld nichts steht funktioniert meine rechnung nicht. nur wenn in jedem textfeld etwas steht. ich habe schon versucht eine if abfrage einzubauen " if textfeldstunden.gettext() == "" {stunden = 0} " das hat aber irgendwie nichts gebracht. der listner wird bei jeder änderung des textes im textfeld aufgerufen.

hoffe ich konnte mein problem ausreichend darstellen.

Java:
public void rechner(){
		int d = 0;
		int h = 0;
		int m = 0;
		int s = 0;
		double time = 0;
		
		try
		{ 
			d = Integer.parseInt(test.tag.getText().trim());
			h = Integer.parseInt(test.stunde.getText().trim());
			m = Integer.parseInt(test.minute.getText().trim());
			s = Integer.parseInt(test.sekunde.getText().trim());
		}
		catch(NumberFormatException e){test.info1.setText("fehler");}

time = ((((d*24+h)*60+m)*60+s)*0.9)/3;
}
 
G

Gast2

Gast
Hallo,
ich habe folgendes problem. ich habe 4 textfelder (tage, stunden, minuten, sekunden) dazu eine methode die alles zusammen in sekunden umrechnet. ich gehe davon aus das nur zahlen eingegeben werden von daher fange ich das nicht extra ab. so nun zum eigentlichen problem wenn jetzt in einem textfeld nichts steht funktioniert meine rechnung nicht. nur wenn in jedem textfeld etwas steht. ich habe schon versucht eine if abfrage einzubauen " if textfeldstunden.gettext() == "" {stunden = 0} " das hat aber irgendwie nichts gebracht. der listner wird bei jeder änderung des textes im textfeld aufgerufen.
Wie du schon gesagt hast geht es nur wenn überall was drin steht...
Also kannst du überall von anfang an gleich 0 reinschreiben
Oder Strings mit equals vergleichen dann geht auch dein if...
 
F

Fleit

Gast
ja im moment hab ich überall eine 0 drin aber ich finde das nicht elegant, da man nicht einfach mit "zahl" tab "zahl" tab die eingabe tätigen kann.

aber schonmal danke für die vorschläge ich werde das alles mal testen.
 

eRaaaa

Top Contributor
Java:
	FocusListener selectAll = new FocusAdapter() {
	    @Override
	    public void focusGained(FocusEvent e) {
		((JTextField)e.getSource()).selectAll();
	    }
	};

:D:D
 

eRaaaa

Top Contributor
Ach nichts, wollte dich nicht verwirren sorry :D
Bezog sich nur auf
da man nicht einfach mit "zahl" tab "zahl" tab die eingabe tätigen kann

..wenn du einen FocusListener, welcher jedes mal wenn ein Textfeld den Fokus erhält den Text markiert, an die Textfelder hängst , ginge das :D
 
F

Fleit

Gast
Java:
d = Integer.parseInt(tag.getText().trim());
				if(tag.getText().equals("")){
					d = 0;
				}
				
				h = Integer.parseInt(stunde.getText().trim());
				if(stunde.getText().equals("")){
					h = 0;
				}
				
				m = Integer.parseInt(minute.getText().trim());
				if(minute.getText().equals("")){
					m = 0;
				}
				
				s = Integer.parseInt(sekunde.getText().trim());
				if(sekunde.getText().equals("")){
					s = 0;
				}


so das if funktioniert nur halb. wenn ich die 4 felder hab werden nicht alle beachtet ich veranschauliche das lieber mal.

[leer] [zahl] [zahl] [zahl] --> kein feld wird beachtet
[zahl] [zahl] [zahl] [leer] --> alle felder werden beachtet
[zahl] [zahl] [leer] [zahl] --> nur feld 1 und 2 werden beachtet feld 4 nicht
[zahl] [leer] [zahl] [zahl] --> nur feld 4 wird beachtet




und dann nochmal kann ich den focuslistener zusätzlich zu meinem CaretListener benutzen? :)
 

eRaaaa

Top Contributor
Naja du solltest die if-Abfragen schon jeweils immer VOR dem Parsen (Integer.parseInt) machen, weil sonst parseInt halt eine Exception auslöst wodurch der Rest nicht mehr abgearbeitet wird!

Oder irgendwie so z.B.

Java:
		int d= 0;
		if(!tag.getText().isEmpty()){
		    d = Integer.parseInt(tag.getText());
		}

Und ja, den Listener kannst du zusätzlich nutzen
 
Zuletzt bearbeitet:
F

Fleit

Gast
ah... das war für mich beim lesen schon imens logisch und es funktioniert auch... gut vielen dank :)

so noch die kleine frage nebenbei.. wie kombiniere ich die 2 listener?
so sieht es bei mir im moment aus
Java:
tag.addCaretListener(new javax.swing.event.CaretListener() {
			public void caretUpdate(javax.swing.event.CaretEvent e) {
				rechner();
			}
		});
 

eRaaaa

Top Contributor
Hast du das bei jedem der 4 Textfelder so gemacht? :D Die machen ja alle das gleiche, d.h. es reicht wenn du den Listener nur einmal erstellst (oder ist der eh nur auf dem tag-Textfeld registriert ???:L )
(so wie ich es bei dem FocusListener auch gemacht habe)

Java:
	CaretListener caret = new CaretListener() {
	    @Override
	    public void caretUpdate(CaretEvent e) {
		rechner();
	    }
	};

	FocusListener focus = new FocusAdapter() {
	    @Override
	    public void focusGained(FocusEvent e) {
		((JTextField) e.getSource()).selectAll();
	    }
	};

tag.addFocusListener(focus);
tag.addCaretListener(caret);
stunde.addFocusListener(focus);
stunde.addCaretListener(caret);
//usw....

EDIT:
Caret events occur when the caret — the cursor indicating the insertion point — in a text component moves or when the selection in a text component changes.
dadurch dass wir beim Fokus den Text selektieren, würde jetzt also auch immer dann der andere Listener sich zu Wort melden.
Vltt. wäre es also auch besser anstelle des CaretListeners einen DocumentListener an die Dokumente der Textfelder zu hängen.
(vllt. sagt ja jmd. anderes dazu auch noch etwas, mit dem CaretListener hab ich persönlich nämlich keine Erfahrung und kannte diesen bis eben auch nicht ^^)
 
Zuletzt bearbeitet:
F

Fleit

Gast
ja ich hatte ihn 4 mal.... naja ich bin noch recht am anfang und probiere nur nebenher etwas aus (studium erstsemster :p) und da hab ich noch nicht so ganz den durchblick.. aufjedenfall herzlichen dank!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Text aus TextFeldern tauschen AWT, Swing, JavaFX & SWT 2
Z Wie kann ich Text unter den Textfeldern einfügen? AWT, Swing, JavaFX & SWT 3
Juelin Text und Backgroundcolor im Label geht nicht AWT, Swing, JavaFX & SWT 7
P JTextfield Text durch Keylistener verändern AWT, Swing, JavaFX & SWT 4
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
C JToggleButton disabled Text Color AWT, Swing, JavaFX & SWT 11
H JavaFX Label.Text mit bind an DoubleProperty binden AWT, Swing, JavaFX & SWT 3
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
FrittenFritze Text in Flying Saucer selectierbar machen AWT, Swing, JavaFX & SWT 0
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
H JavaFX Gedrehter Text auf Canvas (Positionierung) AWT, Swing, JavaFX & SWT 6
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
I Rich Text drucken AWT, Swing, JavaFX & SWT 0
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
N In Textdatei Text anfügen per GUI AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
R Swing JTextField nicht-kopierbarer Text AWT, Swing, JavaFX & SWT 1
S Text-Info in der Taskbar anzeigen AWT, Swing, JavaFX & SWT 15
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
C JCheckBox disabled text color AWT, Swing, JavaFX & SWT 9
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
L JavaFX TableView kein content text ändern AWT, Swing, JavaFX & SWT 2
L JavaFX Anderer Text, wenn kein Platz ist. AWT, Swing, JavaFX & SWT 1
K JavaFX TextInputDialog Button Text ändern AWT, Swing, JavaFX & SWT 1
S 2D-Grafik affine Transformation für Text-Shape AWT, Swing, JavaFX & SWT 0
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
J Text in ein Textfeld eingeben und speichern AWT, Swing, JavaFX & SWT 27
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
C Swing Spinner als TableCellEditor - Text zu klein AWT, Swing, JavaFX & SWT 2
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
I JavaFX formatierter Text in PDF speichern AWT, Swing, JavaFX & SWT 4
T JavaFX Text des ProgressIndicators ändern AWT, Swing, JavaFX & SWT 2
E Swing Text verschwindet AWT, Swing, JavaFX & SWT 1
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
G Rectangle Breite richtet such an die Breite vom Text AWT, Swing, JavaFX & SWT 1
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
K Rich Text FX von TomasMikula AWT, Swing, JavaFX & SWT 0
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
S JAVAFX HTMLEditor wrap text AWT, Swing, JavaFX & SWT 1
J JavaFX Translation Text/Label AWT, Swing, JavaFX & SWT 2
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
A JavaFX HTMLEditor in Text umwandeln AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta JLabel anzuzeigenden Text zentrieren AWT, Swing, JavaFX & SWT 9
javampir Java FX Text verschwindet nicht AWT, Swing, JavaFX & SWT 9
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
Tom299 JavaFX Text oder Label benutzen AWT, Swing, JavaFX & SWT 4
E To get a color text on the TextArea AWT, Swing, JavaFX & SWT 4
E To get color text on the TextArea AWT, Swing, JavaFX & SWT 5
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
T MausClick soll TExt ändern AWT, Swing, JavaFX & SWT 6
J Text bei Eingabe löschen AWT, Swing, JavaFX & SWT 5
A SWT Auto completion in text box AWT, Swing, JavaFX & SWT 5
C Geloest: JTextfield: Titel automatisch entfernen, sobald Text eingegeben wird AWT, Swing, JavaFX & SWT 1
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
B Text auf Display ausgeben [LWJGL] AWT, Swing, JavaFX & SWT 2
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
S TextArea get Selected row(Text) AWT, Swing, JavaFX & SWT 6
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2
J LayoutManager Text Spielerein GUI AWT, Swing, JavaFX & SWT 2
H Javafx - Styled Text AWT, Swing, JavaFX & SWT 5
M Text Area 1. Zeile oben AWT, Swing, JavaFX & SWT 4
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
R JavaFX Automatischer Zeilenumbruch in Text AWT, Swing, JavaFX & SWT 13
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
F Dialog mit Titel, Text und Ok Button AWT, Swing, JavaFX & SWT 2
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
TheJavaKid DocumentListener soll Text in JTextField ändern AWT, Swing, JavaFX & SWT 4
K JEditorPane Text einfügen AWT, Swing, JavaFX & SWT 4
A Text (String) zu einer Box hinzufügen AWT, Swing, JavaFX & SWT 16
B SWT Text - zeilenumbruch AWT, Swing, JavaFX & SWT 2
TheWhiteShadow Swing Document Text Position in Pixel AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben