Eigenen Parser schreiben

- Java -

Mitglied
Ich möchte mir gerne ein eigenes Control schreiben, in dem man z.B. mit BBCodes oder anderen eigenen Befehlen arbeiten kann z.B.: ==Text== für fetten Text, usw.
Dazu muss ich den ganzen Text nach den Tags durchsuchen und diese dann dementsprechend formatiert darstellen.
Das Ganze sollte nicht mit einem StyledDocument, JTextPanes, etc. funktionieren, sondern ich würde es ganz gerne auf ein Panel oder Canvas zeichnen (so kann man z.B. den Text nicht kopieren).
Nur wenn ich jetzt einen String oder ein Icon zeichne, verschwinden immer die schon davor gezeichneten Elemente.
Vielleich könnte mir da jemand weiterhelfen oder auch andere Vorschläge/Ansätze vorschlagen, wie man das ganze Control am besten/einfachsten angeht. :)

Danke schonmal im Vorraus.
 
S

SlaterB

Gast
niemals getGraphics() aufrufen, höchstens repaint(),
in der überschriebenen paintComponent()-Methode von einer komplett leeren Zeichenfläche ausgehen,
also komplett alles neumalen,
daher das Geparste nicht einmalig in einen Zeichenbefehl überführen, sondern dauerhaft abspeichern,
Liste von Zeichenbefehlen oder so, in eigenen Klassen modelliert wenn es nichts vorhandenes brauchbares gibt
 

Blakh

Bekanntes Mitglied
Du verwendest JTextPanes nicht, damit es keiner kopieren kann?!?! Wieso nimmst du nicht einfach :

Java:
textPane.setEnabled(false);

Es ändert sich per default zwar die Schriftfarbe, das kann man aber wieder ändern.
 

Michael...

Top Contributor
Du verwendest JTextPanes nicht, damit es keiner kopieren kann?!?! Wieso nimmst du nicht einfach :

Java:
textPane.setEnabled(false);

Es ändert sich per default zwar die Schriftfarbe, das kann man aber wieder ändern.
Bin mir nicht sicher aber den Inhalt müsste man trotzdem noch kopieren können.

Würde aber trotzdem JTextPane o.ä. verwenden. Diese aber nicht als Komponente in die Applikation einfügen sondern einfach nur als Renderer verwenden - also sich auf eine Komponente malen lassen.
 

- Java -

Mitglied
niemals getGraphics() aufrufen, höchstens repaint(),
in der überschriebenen paintComponent()-Methode von einer komplett leeren Zeichenfläche ausgehen,
also komplett alles neumalen,
daher das Geparste nicht einmalig in einen Zeichenbefehl überführen, sondern dauerhaft abspeichern,
Liste von Zeichenbefehlen oder so, in eigenen Klassen modelliert wenn es nichts vorhandenes brauchbares gibt

Wenn man alles neumalt, hängt es dann nicht immer wenn schon zuviele Strings gezeichnet wurden?
 
S

SlaterB

Gast
mehr als eine Bildschirmseite muss nun wirklich nicht gemalt werden, das sollte schnell genug gehen,
aber diese auszuwählen, falls es mehr gibt, kann schon Komplexität reinbringen,

letzlich kann man alles mögliche beliebig kompliziert machen, die Entwicklung effizienter Darstellungen für Office und Spiele (3D) beschäftigte die letzten Jahrzehnte, füllt dicke Bücher,
ich habe mich auf paar ganz grundlegende Anfänge passend zur Swing-Philosophie mit paintComponent() bezogen
 

Blakh

Bekanntes Mitglied
Bin mir nicht sicher aber den Inhalt müsste man trotzdem noch kopieren können.

Würde aber trotzdem JTextPane o.ä. verwenden. Diese aber nicht als Komponente in die Applikation einfügen sondern einfach nur als Renderer verwenden - also sich auf eine Komponente malen lassen.

Wüsste nicht wie, da du es ja nicht markieren kannst. Bei .setEditable(false) kann man es noch kopieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Encera ArrayList mit eigenen Objekten in JavaFX sortieren und ausgeben AWT, Swing, JavaFX & SWT 50
maximizer JavaFX Accordion mit eigenen TitledPanes füllen AWT, Swing, JavaFX & SWT 0
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
J Drag and Drop von eigenen Objekten AWT, Swing, JavaFX & SWT 3
K Panels mit eigenen Controllern in Main-View einbauen AWT, Swing, JavaFX & SWT 4
B SWT Problem: Wie kann man für jede TableColumn einen eigenen KeyListener registrieren. AWT, Swing, JavaFX & SWT 1
G LookAndFeel Tutorial für Erstellung eines eigenen Look And Feel AWT, Swing, JavaFX & SWT 3
S Swing Eigenen Button schreiben AWT, Swing, JavaFX & SWT 6
B Eigenen Look&Feel erstellen?! AWT, Swing, JavaFX & SWT 2
S Swing Eigenen JDialog mit Rückgabewert AWT, Swing, JavaFX & SWT 3
H Verschiedene JPanels aus eigenen Klassen in JFrame einfügen, nur ein Panel sichtbar AWT, Swing, JavaFX & SWT 4
Z andere Programmfenster relativ zum eigenen maximieren AWT, Swing, JavaFX & SWT 4
B Swing Eigenen Cursor setzen AWT, Swing, JavaFX & SWT 10
N Swing eigenen Dialog erstellen AWT, Swing, JavaFX & SWT 8
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
M JTree mit eigenen Knoten - Zugriff auf Daten AWT, Swing, JavaFX & SWT 6
E Eigenen RowSorter AWT, Swing, JavaFX & SWT 11
P Swing eigenen Modalen JDialog AWT, Swing, JavaFX & SWT 6
data89 Swing Eigenen Fensterrahmen und (Fenster-)Erweiterungen erstellen AWT, Swing, JavaFX & SWT 7
S Swing editable JCombobox mit eigenen Einträgen manangen AWT, Swing, JavaFX & SWT 5
S AWT Eigenen Cursor im Frame verwenden... AWT, Swing, JavaFX & SWT 5
F Drag & Drop mit eigenen Komponenten AWT, Swing, JavaFX & SWT 2
GilbertGrape ActionListener implementieren oder Eigenen für jede Komponente? AWT, Swing, JavaFX & SWT 9
G Hilfe beim Erstellen eines eigenen Html-Editors! AWT, Swing, JavaFX & SWT 4
C JScrollpane eigenen jScrollBar einfügen AWT, Swing, JavaFX & SWT 2
D Darstellungsproblem des eigenen TreeModel bei Veränderungen AWT, Swing, JavaFX & SWT 7
G eigenen Observer schreiben AWT, Swing, JavaFX & SWT 6
J Drag & Drop : JLabel -> JLabel (eigenen Datentyp über AWT, Swing, JavaFX & SWT 2
S JTree mit eigenen Objekten füllen AWT, Swing, JavaFX & SWT 4
isowiz Einige Fragen zur ersten eigenen Sing-Applikation AWT, Swing, JavaFX & SWT 4
M Symbole beim eigenen Renderer AWT, Swing, JavaFX & SWT 7
F Eigenen JDialog öffnen? AWT, Swing, JavaFX & SWT 4
J JFrame mit eigenen Button minimieren AWT, Swing, JavaFX & SWT 2
N Methode für Bild laden geht nur in der eigenen Klasse... AWT, Swing, JavaFX & SWT 3
EinNickname9 Einfacher parser funktioniert nicht AWT, Swing, JavaFX & SWT 2
S Wie kann man eine XSLT-Parser schreiben? AWT, Swing, JavaFX & SWT 2
B Http Parser funktioniert nicht mit JRE 1.5.0, warum! AWT, Swing, JavaFX & SWT 4
R [JTable] Parser nach Zelleneingabe AWT, Swing, JavaFX & SWT 12
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
M Eigene Klasse mit Grafikobjekten schreiben AWT, Swing, JavaFX & SWT 4
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
M JavaFX berechneten Wert in TableView schreiben AWT, Swing, JavaFX & SWT 1
W Kodierung (CharSet) beim Schreiben ändern AWT, Swing, JavaFX & SWT 1
P JavaFX Mit Stream-API (1.8) in Textdatei schreiben AWT, Swing, JavaFX & SWT 3
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
A Swing KeyEvent mit KeyListener und KeyAdapter kürzer schreiben AWT, Swing, JavaFX & SWT 7
S Swing Verzeichnis/Datei-Pfad in JTextField schreiben AWT, Swing, JavaFX & SWT 2
B Daten in eine JTable schreiben AWT, Swing, JavaFX & SWT 3
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
J Swing Bild laden, Kreise drin malen, Schreiben AWT, Swing, JavaFX & SWT 2
C Integer in ein Textfield schreiben. AWT, Swing, JavaFX & SWT 4
M Swing In GUI-Builder-JFrame mit Menü Schreiben und Zeichnen AWT, Swing, JavaFX & SWT 4
W Vergleich zweier Strings und schreiben in Textarea AWT, Swing, JavaFX & SWT 12
A Swing Text auf eine Seite an beliebigen Orten schreiben AWT, Swing, JavaFX & SWT 6
M JFreeChart in ein File schreiben (bzw. JFrame in ein File Schreiben) AWT, Swing, JavaFX & SWT 2
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
E werte zurück in GUI schreiben AWT, Swing, JavaFX & SWT 4
S 3D-Creator schreiben? AWT, Swing, JavaFX & SWT 5
L Zeilenumbrüche aus JTextArea MIT in Textdatei schreiben AWT, Swing, JavaFX & SWT 4
T JTree Daten in DB schreiben am besten SQL AWT, Swing, JavaFX & SWT 21
G Text in JTable schreiben AWT, Swing, JavaFX & SWT 3
L Swing Farbige JComboBox schreiben AWT, Swing, JavaFX & SWT 5
R Direkt in Puffer schreiben AWT, Swing, JavaFX & SWT 7
I 2D-Grafik Problem mit schreiben von Text auf eine Grafik AWT, Swing, JavaFX & SWT 7
M Text in txt-Datei in letzte Zeile schreiben? AWT, Swing, JavaFX & SWT 14
U Beste Möglichkeit JTable-Änderungen in DB zu schreiben? AWT, Swing, JavaFX & SWT 14
D Suche Framework um Grafikprogramm zu schreiben. AWT, Swing, JavaFX & SWT 36
J In JTextfield bei event schreiben AWT, Swing, JavaFX & SWT 4
F png-Datei erstellen und einzelne Pixel schreiben AWT, Swing, JavaFX & SWT 2
G JIntegerField selber schreiben AWT, Swing, JavaFX & SWT 2
S Vorhandene Datei in anderes Verzeichnis schreiben! AWT, Swing, JavaFX & SWT 8
T JTable in *.dat schreiben und auslesen AWT, Swing, JavaFX & SWT 7
G Textfeld Auslesen und in Array schreiben (bei newline) AWT, Swing, JavaFX & SWT 2
I Event, Eventquelle und Listener selber schreiben AWT, Swing, JavaFX & SWT 9
W Vollbild Frames neu schreiben AWT, Swing, JavaFX & SWT 2
I BMP mit ImageIO schreiben AWT, Swing, JavaFX & SWT 1
M .txt unter Verwendung von JSpinner in Textfeld schreiben AWT, Swing, JavaFX & SWT 4
S Menuausgabe in Tabelle schreiben AWT, Swing, JavaFX & SWT 7
S In Instanz von JTextArea schreiben AWT, Swing, JavaFX & SWT 4
H Yes No Dialog eleganter schreiben AWT, Swing, JavaFX & SWT 2
S Text eines JButtons vertikal schreiben AWT, Swing, JavaFX & SWT 5
V Listener selber schreiben? AWT, Swing, JavaFX & SWT 2
M Daten in JTable aus DB schreiben ? AWT, Swing, JavaFX & SWT 16
P Eigenes Look&Feel schreiben (Tutorials?) AWT, Swing, JavaFX & SWT 6
G Vertikal schreiben AWT, Swing, JavaFX & SWT 5
G TableModel auswerten und in Datei schreiben AWT, Swing, JavaFX & SWT 3
R JPanel als Screenshot in eine Datei schreiben AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben