Alternative zu JTextArea?

Status
Nicht offen für weitere Antworten.

hdi

Top Contributor
Hey,

ich bräuchte etwas, das sich genauso gut in ein ScrollPane implementieren lässt wie eine JTextArea, nur bietet diese
mir, soweit ich das jetzt nachgeprüft habe, ein paar Funktionalitäten nicht, die ich gerne hätte.

Die wären:

Ich würde gerne Text-Zeilen in unterschiedlicher Farbe anzeigen lassen können (ich kann nur mit setForeground die Farbe umstellen, aber das gilt immer für den kompletten Inhalt der TextArea)

Ausserdem würd ich irgendwie gerne ein ToolTip für jede Text-Zeile haben, und zwar so dass wenn eine Zeile länger
ist als das Fenster, bzw. das ScrollPane und die TextArea, dass dann ein ToolTip Text eingeblendet wird (ohne Delay!) der die Zeile komplett zeigt.

Geht sowas?

In der API gibt es als Alternativen nur EditorArea oder sowas, sah nicht so aus als könnten die das alles.. Vorallem
kontte man da irgendwie gar nicht so leicht Text einfügen per append(String) oder insert(String).

Wie könnte ich so eine Funktionalität am besten realisieren, welche Klasse gäb es da am besten ausser JTextArea?
Ich hab mir schon überlegt ob ich es einfach in ein JPanel malen soll, also Strings malen..
Aber das ganze müsste wie gesagt auch scrollbar sein, also wär es gut wenn ich es in ein ScrollPane hauen kann,
generell vermute ich mal ist das Zeichen von Strings, wenn es um sowas wie eine Liste von Text-Zeilen geht (das ist es nämlich bei mir) sehr dilletantisch und nicht gut programmiert.

Danke im Vorraus
 

0x7F800000

Top Contributor
Also, farbigen text kannst du verwenden, dazu musst du die html-tags benutzen (swing-components unterstützen einige wenige tags) Dazu gibts in dem forum schon genug, wirst schon was finden, ansonsten einfach ausprobieren.

Was die zeilenweise-tooltips angeht, da bin ich eher skeptisch. In JEditorPane (oder nahe verwandte) kann man aber auch irgendwelche weitere komponente reinpacken, an die könnte man die tooltips dranhängen.

Oder vielleicht eine tabelle, in die neue meldungen zeilenweise reinkommen, oder sowas in der art?
 

hdi

Top Contributor
Ja also es geht noch immer um meine Log-Konsole, du weisst ja Bescheid ;)

Hat ja jetzt alles geklappt. Nur möchte ich zB fehlermeldungen farblich von normalen meldungen abheben, deshalb das mit den colors, ich werd mir das mit html tags mal ansehen.

und die tooltips eig. nur deshalb, weil ich mein fenster nicht so ewig breit machen will. manche log nachrichten sind halt
recht lang und laufzeit abhängig, so nach dem motto: "würfele 6 und 3, gegner würfelt 3 und 5, hab 3 einheiten, gegner hat 9". also ich mach jetz kein risiko, aber generell ich mache ein spiel (kA was, will erstmal gute debugging-basis haben).

und dann wäre die konsole halt von der breite her den halben bildschirm. das sieht nicht nur kacke aus, sondern nimmt einfach platz weg und überschneidet sich am ende mit dem eigentlichen spiel, wo alles abläuft.

tjaja.. bin mir nich so schlüssig wie ich das ordentlich machen kann. ich möchte halt das fenster immer möglichst klein haben, und aber möglichst viel info anbieten können darin. tooltips wären halt so eine platzsparende variante, wenn mal ein logeintrag zu lang ist.

alternativ hatte ich mir überlegt, die ganzen zusatzinfos von der eigentlichen nachricht zu trennen.

bisher sehen die log einträge so aus (bsp)
11:20:19 Controller:doSomething(line 18) > Hallo, dies ist meine Nachricht.
und jetzt dachte ich, ich zeig nur noch an:

+ Hallo, dies ist meine Nachricht.

wobei das "+" halt zB ein kleiner button neben jeder nachricht ist, und wenn man draufklickt, klappt die weitere
genauere Info aus..

ich hab dir ein bild davon gemalt (ich will damit nicht sagen, dass du dumm bist, sondern dass wahrscheinlich ich dumm bin und es nicht richtig erklären kann):


Hatte ich schon versucht, aber das ist alles nicht so einfach mit JTextArea. Man kann zwar per insert() eine Zeile irgendwo einfügen, d.h. zB beim Klick auf eine Nachricht, darunter die weiteren Infos einblenden..

Aber die Prozedur, den richtigen Platz zu finden ist unglaublich sch*** zu machen, weil insert() als parameter einen int x verlangt, und das ist der x-te CHAR in der kompletten TextArea. Und jetz darf ich anfangen, alle Chars abzuzählen etc etc.

Irgendwie bietet diese Klasse halt echt kaum was ausser zeilenweises einfügen. Aber darauf arbeiten dann, d.h. etwas verändern im nachhinein etc ist fast nicht möglich oder SEHR umständlich und langsam.

deshalb such ich jetz nach einer besseren lösung, aber solange man keine besseren klassen kennt, hat man da ein problem :p Ich meine die API durchforsten ist die eine Sache, zu wissen, wonach man eigentlich suchen muss, ist ne ganz andre Problematik als Anfänger. Vorallem in Java, wo man als API quasi ein 24.000-seitiges Buch hat.[/img]
 

Landei

Top Contributor
Deine Beschreibung hört sich extrem nach JTree an. Der ist scrollbar und das erwähnte "Ausklappen" kann der auch.

Bei den Java Tuts ist auch ein Beispiel dabei, wo sie wilde Sachen mit JList machen (Bildchen einfügen, Hintergrundfarbe für jede Zeile ändern), eventuell geht das ebenfalls.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Alternative zu Stream.forEach() Java Basics - Anfänger-Themen 6
T Alternative für switch case Java Basics - Anfänger-Themen 1
S Input/Output System.out.println - Manipulieren bzw. Alternative..? Java Basics - Anfänger-Themen 2
H Alternative Eingabe Java Basics - Anfänger-Themen 3
N Alternative für mehrdimensionales Array Java Basics - Anfänger-Themen 25
K Alternative zur If-Abfrage Java Basics - Anfänger-Themen 3
P Alternative zu scan.nextLine() Java Basics - Anfänger-Themen 4
N Benötige eine Alternative für einen GOTO Befehl Java Basics - Anfänger-Themen 2
E Brauche eine Antwort zum Thema RegEx ( Alternative zur Lösung auch gesucht ) Java Basics - Anfänger-Themen 5
I Input/Output Alternative zur Serialisierung/ ImageJ Objecte Java Basics - Anfänger-Themen 7
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
kaoZ Alternative zu ToggleButton (Android/Java) Java Basics - Anfänger-Themen 12
H Best Practice Alternative Möglichkeit, um Eingaben vorzunehmen Java Basics - Anfänger-Themen 13
M renameTo alternative? Java Basics - Anfänger-Themen 11
A Alternative zum manuellen Swing programmieren?? Java Basics - Anfänger-Themen 4
J alternative zu getText() ? Java Basics - Anfänger-Themen 15
lulas[]args Alternative zu System.err.println(); Java Basics - Anfänger-Themen 5
xehpuk (Sichere) Alternative zu Class.forName() Java Basics - Anfänger-Themen 9
F Alternative zu JoptionPane Java Basics - Anfänger-Themen 7
A Alternative instanceof Java Basics - Anfänger-Themen 3
DStrohma Alternative Darstellung von Paketen in Eclipse Java Basics - Anfänger-Themen 2
S Datentypen LinkedList Konstruktor, add Alternative Java Basics - Anfänger-Themen 2
B Alternative zu einem Array gesucht Java Basics - Anfänger-Themen 3
S Webapplikation welche alternative zu gwt? Java Basics - Anfänger-Themen 2
S Alternative Implementierungen für ActionListener Java Basics - Anfänger-Themen 7
E Strings hochzählen oder elegante alternative? Java Basics - Anfänger-Themen 3
F Java Native Interface alternative Java Basics - Anfänger-Themen 4
M Erneutes Ausführen bestimmter Aktionen (GoTo-Alternative) Java Basics - Anfänger-Themen 6
C Alternative zur Klasse Java Basics - Anfänger-Themen 2
R Alternative zu "Format" in Java 1.4 Java Basics - Anfänger-Themen 3
R String replace nicht verwenden.alternative gesucht Java Basics - Anfänger-Themen 5
V Alternative zu Thread.sleep() ? Java Basics - Anfänger-Themen 6
G Alternative zu Split für 1.3 Java Basics - Anfänger-Themen 3
B JTextArea getText() Java Basics - Anfänger-Themen 1
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
C Threads jTextArea Ausgabeproblem Java Basics - Anfänger-Themen 3
jaleda100 JTextArea Zeile einfügen Java Basics - Anfänger-Themen 1
Bluedaishi Datum in Jtextarea füllen Java Basics - Anfänger-Themen 5
V System.out.println zu JTextArea Java Basics - Anfänger-Themen 6
T JTextarea in txt datei speichern Java Basics - Anfänger-Themen 3
snipesss JTextArea wird nicht angezeigt Java Basics - Anfänger-Themen 3
R JTextArea final Status ändern Java Basics - Anfänger-Themen 11
T Klassen JTextArea und TextArea Java Basics - Anfänger-Themen 8
J JTextArea visible ohne Text Java Basics - Anfänger-Themen 3
D system.out.println >> JTextArea Java Basics - Anfänger-Themen 1
O JTextPane / JtextArea Zeilenabstand entfernen Java Basics - Anfänger-Themen 1
J Methoden JTextArea auslesen und in JTextfield ausgeben Java Basics - Anfänger-Themen 13
G Inhalt einer JTextArea wird nicht dargestellt Java Basics - Anfänger-Themen 8
G Klassen Richtig auf jTextArea aus anderer Klasse zugreifen? Java Basics - Anfänger-Themen 3
O JTextArea: Wo wird der Text gespeichert? Wie kann man es verhindern? Java Basics - Anfänger-Themen 4
M Farbiger Text in JTextArea Java Basics - Anfänger-Themen 5
H Input/Output JTextArea einzelne Zeile auslesen Java Basics - Anfänger-Themen 6
M Refresh JTextArea Java Basics - Anfänger-Themen 12
X Methode in JTextArea anzeigen lassen Java Basics - Anfänger-Themen 18
C JScrollPane + JTextArea scrollt nicht Java Basics - Anfänger-Themen 2
M Zeilenumbruch in JTextarea Java Basics - Anfänger-Themen 4
A String aus anderer Klasse in JTextArea einfügen Java Basics - Anfänger-Themen 7
Q jTextArea maximale Textlänge Java Basics - Anfänger-Themen 3
Q jTextArea Zeilenendzeichen Java Basics - Anfänger-Themen 4
G JTextArea: nur bestimmte Zeilen anders formatieren Java Basics - Anfänger-Themen 7
L Socket in JTextArea Java Basics - Anfänger-Themen 9
F JTextArea in .txt speichern Java Basics - Anfänger-Themen 13
E JTextArea beim Schreiben automatisch vergrößern Java Basics - Anfänger-Themen 7
F jTextArea Java Basics - Anfänger-Themen 3
D JTextArea Absätze von datei.txt übernehmen Java Basics - Anfänger-Themen 7
B Werte aus JTextArea in einem String Array ablegen Java Basics - Anfänger-Themen 4
N leere JTextArea wird nicht angezeigt - TextArea aber schon? Java Basics - Anfänger-Themen 5
B Werte der Variable aus Klasse JTextArea in einer Datei der Klasse RandomAcessFile speichern Java Basics - Anfänger-Themen 10
S JTextArea mit LineWrap true viel zu groß! Java Basics - Anfänger-Themen 2
D Object auf JTextpane / jTextArea casten? Java Basics - Anfänger-Themen 3
N ein Array auf eine JTextArea ausgeben Java Basics - Anfänger-Themen 2
B JTextArea Farbe und Schrift aendern Java Basics - Anfänger-Themen 2
R JTextArea append Java Basics - Anfänger-Themen 2
c_sidi90 jTextarea kein Zeilenumbruch erlauben Java Basics - Anfänger-Themen 4
M JTextArea Zeichen Beschränken Java Basics - Anfänger-Themen 11
R JScrollPane in JTextArea benutzen Java Basics - Anfänger-Themen 10
N Dateiinhalt zu jTextArea hinzufügen Java Basics - Anfänger-Themen 2
StrikeTom JTextArea mit txt-dateiinhalt füllen Java Basics - Anfänger-Themen 11
StrikeTom Quelltext einer Internetseite auf JTextArea anzeigen Java Basics - Anfänger-Themen 4
Benji0815 Inputstream aus Konsole in JTextArea Java Basics - Anfänger-Themen 14
K Text aus einem Datei lesen , und im JTextArea ausgeben. Java Basics - Anfänger-Themen 3
manunana89 Farbiger Textteile in JTextArea oder ähnlichem! Java Basics - Anfänger-Themen 5
B aktuelle Position einer JTextArea ermitteln Java Basics - Anfänger-Themen 6
Developer_X Strings in JTextarea suchen Java Basics - Anfänger-Themen 15
J Java JTextArea und ActionListener Probleme Java Basics - Anfänger-Themen 6
G JTextArea & Zeichenbegrenzung Java Basics - Anfänger-Themen 4
G Mit Tab aus der JTextArea? Java Basics - Anfänger-Themen 2
G JTextArea - farbige Schrift Java Basics - Anfänger-Themen 5
T Text Rechtsbündig in jTextArea Java Basics - Anfänger-Themen 4
T Dynamischer JTabbedPane Probleme mit JTextArea Java Basics - Anfänger-Themen 2
I Schriftart für einzelnes Wort in der JTextArea auswählen Java Basics - Anfänger-Themen 3
B jTextArea Neuzeichnung erzwingen Java Basics - Anfänger-Themen 3
L JTextArea große setzen Java Basics - Anfänger-Themen 5
G in einer JTextArea ROTE SCHRIFT ausgeben Java Basics - Anfänger-Themen 11
H JTextarea mit automatischem Scrolling Java Basics - Anfänger-Themen 6
W Zeilenposition in JTextArea feststellen(ohne Caret) Java Basics - Anfänger-Themen 7
G Ausgababeumlenkung in JTextArea Java Basics - Anfänger-Themen 4
S Ausrichtung des Textes in einer JTextArea Java Basics - Anfänger-Themen 12
C JTextArea + Zeilennummerierung Java Basics - Anfänger-Themen 3
D Eine ganze Textdatei in einer jTextArea anzeigen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben