Ein paar Kleinigkeiten

Ilyustar

Mitglied
Hallo,

ich bin gerade dabei ein kleines Spiel in Java zu programmieren und hab noch ein paar Kleinigkeiten die ich einbauen möchte.. da meine Java Kentnisse noch nicht so ausgereift sind möchte ich einfach mal hier fragen:

a)
Ich bräuchte in meiner GUI ein Feld das entweder das System.out also alles was in der Konsole ankommt anzeigt oder auf Button-Click mir eine Zeile hinzufügt. Nach ein wenig googlen hab ich die JTextArea gefunden und mal reingebastelt. Nun steh ich vor dem Problem, dass er alles in die selbe Zeile haut..(wenn ich die 2. Methode verwende) %n \n oder ähnliches weiss ich nicht wo ichs hinsetzen soll oder ob das überhaupt geht. Ich hab das jetzt so gelöst oder auch nichtgelöst:
Java:
jTextArea.append(antwort + " Euro gesetzt.");
wenn ich aber
Java:
jTextArea.insert(antwort + " Euro gesetzt.", 1);
verwende setzt er es genau an diese Stelle, ich möchte aber das er einfach eine Zeile weiter springt
und es dann postet da ich mehrere Buttons hab und man die in beliebiger Reihenfolge hinzufügen können soll.(ich hoffe das ist verständlich genug)
Die Variante mit dem System.out Stream hab ich nicht wirklich verstanden bisher oder nichts aufschlußreiches gefunden.

b)
Ich möchte am Ende einer Runde dieses Feld wieder leeren wie ist der Befehl hierfür? :)

c)
Ich habe ein Random Objekt erzeugt und generiere damit Zahlen - Nun möchte ich aber nicht das die Zahl sofort angezeigt wird wie es jetzt der Fall ist. Ich hatte mir überlegt eine For-Schleife einzubauen die dann z.B. 50x irgendne Zahl anzeigt bevor die "echte" am Ende da steht. So nachdem ich das gebastelt hatte war das Problem das er die 50 Zahlen so schnell anzeigt das man es nicht erkennt(logisch). Dann hab ich mich auf die suche gemacht um ein delay einzubauen aber das einzige das ich fand waren die Methoden
Java:
wait()
und
Java:
Thread.sleep()
- Welche mein Programm nur zum aufhängen gebracht haben. Die Frage ist nun, ist das realisierbar? Wenn ja, wie? Das soll dem ganzen halt noch ein wenig Spannung bringen.


Das wars erstmal, ich hoffe ihr könnt mir weiterhelfen.
Ilyustar





Edit:

Okay, den Zeilensprung hab ich nun gelöst :D (war ja auch nur Syntax Nichtwissen meinerseits).
Nun bleibt die Frage offen wie ich den Kompletten Text der Area wieder lösche.
 
Zuletzt bearbeitet:

Michael...

Top Contributor
a) \n imüsste auch von der JTextArea verstanden werden.
Java:
jTextArea.append("eine Zeile \n");
b)
Java:
jTextArea.setText("");
c) dafür verwendet man Threads bzw. Timer
 

Ilyustar

Mitglied
Okay vielen Dank schonmal,
Jetzt bin ich gerade dabei ein JScrollPane an meine TextArea hinzuzufügen was noch nicht ganz läuft..
und könntest du eventuell c) etwas spezifischer oder anhand eines Beispiels näher erläutern, bin wirklich blutiger Anfänger :)

Danke!
 

Haave

Top Contributor
Wegen des ScrollPane rate ich einfach mal ins Blaue, weil zu wenig Code da ist:

Du hast eine JTextArea mit einem JScrollPane. Wahrscheinlich hast du auch einen JFrame. Hast du dem JFrame vielleicht die JTextArea gegeben? Soweit ich weiß, muss man dem nämlich dann das ScrollPane übergeben, die TextArea hängt dann einfach mit dran.
 

Ilyustar

Mitglied
Scrollbar is drinne und funktioniert, danke!
Jetzt nur noch das mit dem sleep/wait/timer oder wie auch immer ich das am besten realisieren soll :)
Kann mir da jemand weiterhelfen?
 

Purgator

Aktives Mitglied
Aloha,
mit Threads kenne ich mich leider nicht so sehr aus, aber ich versuche mal das Konzept und einfache Anwendung zu erläutern.

Du hast ja anscheinend schon sleep verwendet ohne extra Threads zu bauen. Du kannst dein Programm aber (wenn du keine extra Threads einbaust) als eine reine Abfolge von Befehlen betrachten. Wenn du nun also ein Befehl "Warte Zeit x" einbaust, so wird gewartet und es werden in dieser Zeit keine weiteren Befehle ausgeführt.
Wenn du das aber willst, so musst du extra Threads einbauen. Wenn du dir einen extra Thread schreibst, und diesen startest, so hast du praktisch 2 Stapel von Befehlen, welche (mehr oder minder) parallel abgearbeitet werden. Wenn nun in einem der Befehl "Warte Zeit x" aufgerufen wird, so kann der andere ganz normal weiter seine Befehle ausführen.

Wie du diese Threads genau schreibst ist z.B. hier beschrieben: Java ist auch eine Insel – 9.2 Threads erzeugen
Grundprinzip dabei ist, dass eine Klasse von dir Runnable implementieren muss.
Wenn du nun einen Thread startest, welcher die obige Klasse übergeben bekommt, wird die run() methode dieser Klasse aufgerufen.
Dort könntest du also eine for-Schleife mit 50 Durchläufen starten.
In dieser rufst du dann immer Math.random() auf, schreibst das Ergebnis irgendwo hin (updatest gegebenenfalls die ui) und legst den Thread für ein paar Millisekunden schlafen.
Nach der For-Schleife schreibst du dann das endgültige Ergebnis.

Denke so müsste das ungefähr funktionieren, hoffe es hilft ein wenig.
 

Ilyustar

Mitglied
hallo nochmal,
hab das mit den threads jetzt leider nich hinbekommen, stehe aber nun noch vor einer letzten frage: unzwar habe ich meine gui größten teils mit eclipse erstellt.. nun würd ich gern wissen wie ich die damit erstellten z.Z. noch viereckigen buttons an einer seite z.b. rund machen kann bzw. generell die Form verändern kann und wie ich die ränder der buttons z.b. gelb färben könnte?

vielen dank,
ilyu
 

VfL_Freak

Top Contributor
Moin,

hab das mit den threads jetzt leider nich hinbekommen, stehe aber nun noch vor einer letzten frage: unzwar habe ich meine gui größten teils mit eclipse erstellt.. nun würd ich gern wissen wie ich die damit erstellten z.Z. noch viereckigen buttons an einer seite z.b. rund machen kann bzw. generell die Form verändern kann und wie ich die ränder der buttons z.b. gelb färben könnte?

hier mal ein paar Grundlagen zum Umgang mit Button :
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.6 Schaltflächen

Gruß
Klaus
 

Ilyustar

Mitglied

Danke, aber das hilft mir leider nicht viel weiter da dass was ich brauche dort nicht erwähnt wird :/

Java:
jTextArea.append(antwort + " Euro gesetzt." + "\n");

Danke auch dir, aber das wurde ja bereits geklärt :)
 

Michael...

Top Contributor
hallo nochmal,
hab das mit den threads jetzt leider nich hinbekommen, stehe aber nun noch vor einer letzten frage: unzwar habe ich meine gui größten teils mit eclipse erstellt.. nun würd ich gern wissen wie ich die damit erstellten z.Z. noch viereckigen buttons an einer seite z.b. rund machen kann bzw. generell die Form verändern kann und wie ich die ränder der buttons z.b. gelb färben könnte?

vielen dank,
ilyu
Eigenes Look And Feel ;-)

Du könntest tricksen und bei einem JButton die Border wegmachen und nur ein Icon anzeigen lassen
Du könntest aber von AbstractButton erben und so Deinen eigenen Button definieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
P Erste Schritte Bitte ein paar Erklärungen zu meinem Code Java Basics - Anfänger-Themen 6
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
T Ein paar Fragen zu OOP und Java. Java Basics - Anfänger-Themen 16
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
M Paar Probleme mit 3 Klassen Java Basics - Anfänger-Themen 23
C Array - Ein paar Verständnisfragen Java Basics - Anfänger-Themen 9
K BufferedWriter schreibt die letzten paar Zeilen nicht Java Basics - Anfänger-Themen 5
K Java Anfänger und paar Fragen=D Java Basics - Anfänger-Themen 7
J Paar Fragen zu Exceptions Java Basics - Anfänger-Themen 16
C Umsteiger hat noch ein paar Fragen Java Basics - Anfänger-Themen 11
StrikeTom Ein paar(2) Fragen zu throws und try + catch Java Basics - Anfänger-Themen 6
Luk10 Datentypen Werte-Paar Java Basics - Anfänger-Themen 4
B Paar kleine Grundsatzfragen zu Java Java Basics - Anfänger-Themen 5
Nicer ! Problem nach paar Bierchen erkannt aber nicht gebannt ! Java Basics - Anfänger-Themen 7
I Ein paar Syntaxfragen... Java Basics - Anfänger-Themen 3
T ein paar fragen Java Basics - Anfänger-Themen 10
D Arrays und paar Möglichkeiten mit denen Java Basics - Anfänger-Themen 3
Antoras Ein paar theoretische Fragen Java Basics - Anfänger-Themen 19
G Brauche ein paar erklärungen zu Quelltext Java Basics - Anfänger-Themen 5
A Primzahlen: ein paar offene Fragen Java Basics - Anfänger-Themen 2
A paar bilder auf einmal Java Basics - Anfänger-Themen 3
A Paar Fragen zu Applet u.a. Java Basics - Anfänger-Themen 2
R Strings und dazu ein paar methoden Java Basics - Anfänger-Themen 12
A taschenrechner mit radioButtons aber ein paar problemen Java Basics - Anfänger-Themen 5
0x7F800000 Ein paar noob-fragen zu java ME Java Basics - Anfänger-Themen 5
G Threads brauche da gilfe für paar fragen Java Basics - Anfänger-Themen 5
V Könnt ihr mal über Paar antworten schauen(Hausaufgaben) Java Basics - Anfänger-Themen 7
S ein paar kleine Fragen Java Basics - Anfänger-Themen 4
G Hoffe jemand kann mir ein paar Tips geben:binärer Suchbaum Java Basics - Anfänger-Themen 3
R Noch ein paar Anfängerfragen. Java Basics - Anfänger-Themen 4
N ein paar L&F Fragen Java Basics - Anfänger-Themen 7
S Ein paar Anfängerfragen Java Basics - Anfänger-Themen 17
S ein paar Fragen - mit KSKB Java Basics - Anfänger-Themen 16
M Zeilenausgabe auf ein paar Zeichen begrenzen Java Basics - Anfänger-Themen 2
A Habt ihr ein paar ideen für Programme? Java Basics - Anfänger-Themen 8
G Doppelte (Paar) Werte in einem Vektor finden Java Basics - Anfänger-Themen 6
B Bräuchte ein paar Sachen für mein Clientprogramm! Java Basics - Anfänger-Themen 6
megachucky Suche ein paar gute Tutorials so wie dieses hier. Java Basics - Anfänger-Themen 4
P Bitte um ein paar Tipps! (Threads, Warten auf Ereignisse,.) Java Basics - Anfänger-Themen 2
G Ein paar Definitionsfragen Java Basics - Anfänger-Themen 4
B Paar richtige Anfängerfragen Java Basics - Anfänger-Themen 7
1 Kleinigkeiten Java Basics - Anfänger-Themen 3
A Fehler schon bei kleinigkeiten Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben