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, 1397 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.
Mfg
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
DSL, VDSL

Telekom versendet automatische Kündigungen

(5)

Erfahrungsbericht von Voiper zum Thema DSL, VDSL ...

Ähnliche Inhalte
Webbrowser
gelöst Microsoft Remote Connectivity Analyzer - Verification-Code (7)

Frage von ArnoNymous zum Thema Webbrowser ...

Windows Installation
Wie erstelle ich ein kostenloses Code Sign Zertifikat? (6)

Frage von Yanmai zum Thema Windows Installation ...

IDE & Editoren
gelöst Code:Blocks auto complete anpassen (10)

Frage von TheBattleWolf zum Thema IDE & Editoren ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (19)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...