Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Code wird nicht in reihenfolge abgearbeitet

Frage Entwicklung Java

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

06.06.2013 um 11:13 Uhr, 1386 Aufrufe, 5 Kommentare

Morgen

Habe da ein (meiner Meinung nach) sehr merkwürdiges Problem.
Und zwar wird der code nicht von oben nach unten abgearbeitet:
Also stehen habe ich:

Anweisung 1
Anweisung 2
Anweisung 3
Anweisung 4

Gemacht wird aber
Anweisung 1
Anweisung 2
Anweisung 4
Anweisung 3

Es geht genauer gesagt um ein JTextField
Ich greife den Inhalt mit ENTER ab.
Speichere den Inhalt in eine Variable TEXT
Setze den Inhalt auf "" (also auf Nichts LEER)
Gebe den Inhalt weiter.

Das Problem ist jetzt, das erst der Befehl hinter dem weitergeben ausgeführt wird, und dan der Inhalt meines JTextField (unten) auf LEER gesetzt wird.

01.
		public void keyPressed(KeyEvent e) { 
02.
				String Test = ""; 
03.
				if (e.getKeyCode() == KeyEvent.VK_ENTER){			 
04.
					unten.setEditable(false);		 
05.
					Test = unten.getText(); 
06.
					unten.setText(""); 
07.
					printText(Test)
Aber egal wo ich setText einfüge, ob in die Methode Print oder wie hier vorne dran, ob ich 20 oder 30 mal den Befehl vor Print setze, ist ihm alles egal, der Inhalt wir erst auf LEER gesetzt wenn printText ausgeführt wurde.

PrintText wandelt den String in einzelne Chars und gibt ihn mit einem wait zwischen den Chars in einem TextArea wieder aus.

Hoffe ihr habt noch eine Idee.
Mit freundlichen Grüßen
Power-Poler
Mitglied: fnord2000
06.06.2013 um 12:11 Uhr
Also ich habe seit etwa 10 Jahren nicht mehr Programmiert, insofern ist meine Antwort jetzt eher ein Schuß ins Blaue:
Bist du sicher, dass dein Feld nicht schon an der von dir gewünschten Stelle auf Leer gesetzt wird und lediglich die Anzeige verzögert erfolgt? Gerade bei GUI-Programmierung, also Swing und so läuft ja einiges über Threads im Hintergrund. Es kann also m.E. durchaus sein, dass das Feld bereits leer ist, aber die Anzeige selbst noch was anderes anzeigt, weil es noch nicht aktualisiert wurde.
Bitte warten ..
Mitglied: Power-Poler
06.06.2013 um 12:23 Uhr
Wäre natürlich auch möglich
Aber wie kann ich es dan lösen?
Habe auch schon versucht, einen wait vor print zu setzen, aber dan wartet er 1s oder so, gibt den Text aus, und dan wird das JtextField auf LEER gestellt.
Wenn ich aber vor "Test = unten.getText();" das JTextfield auf Leer setze, gehts, das Textfeld wird auf Leer gesetzt, nichts wird in Test geschrieben.
Also würde ich sagen, das du mit der Vermutung recht hast, aber wie bekomme ich es jetzt dazu, zuerst zu Aktualisieren, und dan Print auszuführen?
Bitte warten ..
Mitglied: colinardo
06.06.2013 um 13:39 Uhr
Hallo Power-Poler,
hast du mal diese Reihenfolge probiert, und anstatt das keyPressed das keyReleased-Event probiert:
01.
Test = unten.getText(); 
02.
unten.setText(""); 
03.
unten.setEditable(false); 
04.
printText(Test)
Grüße Uwe
Bitte warten ..
Mitglied: Power-Poler
06.06.2013 um 18:19 Uhr
Auch das brachte keine Erfolg, auch wenn KeyReleased besser ist, weil man dan die Taste nicht gedrückt lassen kann, und somit unendliche eingaben machen kann.

habe es jetzt mal so Probiert:

01.
		public void keyReleased(KeyEvent e) { 
02.
			String Test = ""; 
03.
			if (e.getKeyCode() == KeyEvent.VK_ENTER){			 
04.
						 
05.
				Test = unten.getText(); 
06.
				unten.setText(""); 
07.
				unten.setEditable(false); 
08.
				System.out.println("TEst"); 
09.
				printText(Test); 
10.
 
11.
			}
Und dabei festgestellt, das egal wie lang die Eingabe ist, nach 1-2 Chars in der Konsole "TEst" ausgegeben wird
Aber erst wenn alle Chars ausgegeben sind, "unten" gelöscht wird.
Bitte warten ..
Mitglied: Power-Poler
07.06.2013, aktualisiert um 18:41 Uhr
Hab eine annehmbare Lösung gefunden.
01.
		public void keyPressed(KeyEvent e) { 
02.
			if (e.getKeyCode() == KeyEvent.VK_ENTER && !("".equals(unten.getText()))){ 
03.
				Test = ""; 
04.
				Test = unten.getText(); 
05.
				unten.setText(""); 
06.
07.
 
08.
09.
		public void keyReleased(KeyEvent e) { 
10.
			 
11.
			if (e.getKeyCode() == KeyEvent.VK_ENTER && !(Test.equals(""))){			 
12.
				unten.setEditable(false); 
13.
				printText(Test); 
14.
				Test = ""; 
15.
16.
17.
 
beim drücken der Entertaste wird der Text jetzt in eine Variable gespeichert, und gelöscht.
Beim loslassen, wird der Inhalt der Variable ausgelesen und ausgegeben.
Hab dabei auch gleich das Problem mit behoben, das es möglich war Leere Texte abzuschicken
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Erkennung und -Abwehr
Port 7547 SOAP Remote Code Execution Attack Against DSL Modems Internet Storm Center (5)

Link von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Batch & Shell
gelöst Findstr - code für schwieriger Abfrage gesucht (9)

Frage von reissaus73 zum Thema Batch & Shell ...

Verschlüsselung & Zertifikate
Bitlocker: Ist die Reihenfolge bei der Verschlüsselung wichtig (10)

Frage von cyberjunkie zum Thema Verschlüsselung & Zertifikate ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...