Einzelnen Worte eines Strings farbig machen

Status
Nicht offen für weitere Antworten.
D

dalco

Gast
hallo,

ich habe ein suchfunktion, die mir strings mit max 6 worten durchsucht, ob meine anfrage, also auch ein string, der zb. 3 worte hat, enthält.
es sind namen von kletterrouten, zb. "die alte westwand".
wenn ich jetzt nach "westwand" suche, will ich das ergebnis, den string in grauer farbe schreiben, nur das wort"westwand" darin soll rot werden.
suche ich nach "alte" und "westwand" sollen beide worte rot dargestellt werden.

wie mache ich das, von der darstellung her, könnten es labels in einem JPanel sein, oder eine einfache Paintcomponente, auf der ich den string mit g.drawstring()..... schreibe.
hier ist das problem, ich spitte ihn auf, um die worte zu checken, müsste dann die farbe setzen und ihn wieder zusammenbauen, aber an welche x-position, da die worte ja unterschiedlich lang sind.

ich weiß nicht weiter, dafür dass ich dachte das sei banal, da ich auf meine suche so stolz war, die ja funktioniert.

jedenfalls schon mal vielen dank für eure hilfen
mfg
dalco
 

Wildcard

Top Contributor
Die einfachste Lösung ist sicherlich, dir einen html String zusammen zu bauen und diesen einem JLabel zu setzen.
 

Tom299

Bekanntes Mitglied
also wenn deine suche schon mal funktioniert und du die wörter findest würd ich einfach einen html-tag dazumachen, der das wort entsprechend färbt oder fett darstellt oder wie auch immer.
vielleicht solltest du mit einer kopie der strings bzw. des ganzen textes arbeiten, damit du bei einer neuen suche nicht zuerst die alten html-tags dann entfernen mußt.
 
G

Guest

Gast
danke einstweilen,
kannst du mir ein beispiel zeigen wie ich so einen html string basteln kann
danke
dalco
 

Quaxli

Top Contributor
Andere Lösung wäre der DefaultHighlighter, wenn die Suche bei Dir schon funktioniert. So wirklich schwer ist das auch nicht. Anbei mal ein kleines Beispielprogramm, daß ich vor längerer Zeit mal zum Rumspielen zusammengebastelt habe. Im Beispiel wird halt nur der erste Treffer gesucht und nur eine Farbe verwendet und das Ganze ist in einer Klasse zusammen gepfercht, aber als Beispiel ausreichend.
DefaultHighlighter funktioniert halt nur mit Klassen, die von JTextComponent erben, wenn ich's richtig im Kopf habe.

Code:
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;

public class Demo extends JFrame implements ActionListener{

	private static final long	serialVersionUID	= 1L;
	
	JTextArea jtext;
	JTextField search;
	JButton start;
	DefaultHighlighter highlight;
	
	public static void main(String[] args) {
    new Demo();
	}
	
	public Demo(){
		setLocation(100,100);
		setSize(200,200);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new BorderLayout());
		
    JPanel top = new JPanel();		
		
    search = new JTextField(5);
    top.add(search);
    
    start = new JButton("search");
    start.setActionCommand("start");
    start.addActionListener(this);
    top.add(start);
    
    add(top,BorderLayout.NORTH);
    
    jtext = new JTextArea();
		highlight = new DefaultHighlighter();
		jtext.setHighlighter(highlight);
    add(jtext,BorderLayout.CENTER);
		
		setVisible(true);
	}

	public void actionPerformed(ActionEvent e) {
		
		if(!e.getActionCommand().equals("start")){
			return;
		}

		if(search.getText().equals("")){
			return;
		}
		
		highlight.removeAllHighlights();
		
		String text = jtext.getText();
		int index = text.indexOf(search.getText());
		int length = search.getText().length();
		
		DefaultHighlighter.DefaultHighlightPainter highpaint = new DefaultHighlighter.DefaultHighlightPainter(Color.GREEN);

		try {
			highlight.addHighlight(index,index+length,highpaint);
		} catch (BadLocationException e1) {
			e1.printStackTrace();
		}

	 repaint();
		
	}

}
 

Wildcard

Top Contributor
Code:
String htmlString = "<html>Wort, [b]fettes Wort[/b]</html>"
 
G

Guest

Gast
hi,
danke aber soweit war ich auch schon:
Code:
String htmlString = "<html>Wort, [b]fettes Wort[/b]</html>"
wenn ich das in ein label oder ein textfield stecke, dann setzt er es genau so rein und nicht als interpretation der html-tags.
mfg
tino
 
G

Guest

Gast
oh ja danke
mit JLabel seh ich was, werd versuchen jetzt meine farben reinzubekommen.
danke nochmal an alle
dalco
 
G

Guest

Gast
hallo nochmal,

also ich hab alles so hinbekommen wie ich es wollte.
danke und von mir aus ende des threads

mfg
dalco
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Befüllung der einzelnen Zeilen des TableView AWT, Swing, JavaFX & SWT 3
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
H Combobox in einer einzelnen Zelle der Jtable AWT, Swing, JavaFX & SWT 2
D Swing Probleme beim Anzeigen der einzelnen Komponenten AWT, Swing, JavaFX & SWT 16
A Swing JComboBox : Was bedeuten die einzelnen Attribute AWT, Swing, JavaFX & SWT 2
C Swing JTable: Horizontale Linie bei einzelnen Zellen ausblenden AWT, Swing, JavaFX & SWT 5
N Farbe einer einzelnen Zeile einer JTable ändern AWT, Swing, JavaFX & SWT 10
R JTable - Rendern der einzelnen Zellen AWT, Swing, JavaFX & SWT 3
S Fläche mit einzelnen Bildern erstellen AWT, Swing, JavaFX & SWT 3
D Ireport - Summe bilden von einzelnen Zeilen? AWT, Swing, JavaFX & SWT 1
B Abstand zwischen einzelnen Elementen einstellen AWT, Swing, JavaFX & SWT 2
N JTable Abstand zwischen einzelnen Spalten AWT, Swing, JavaFX & SWT 6
G JTree - einzelnen Knoten löschen AWT, Swing, JavaFX & SWT 11
S MouseListener auf einem einzelnen Tab setzen AWT, Swing, JavaFX & SWT 3
I JTabbedPane - Einzelnen Tab auf der rechten Seite adden AWT, Swing, JavaFX & SWT 2
D Im JTable bei einzelnen Zellen die Farbe ändern AWT, Swing, JavaFX & SWT 3
R Drag & Drop einer einzelnen Zelle (JTable) AWT, Swing, JavaFX & SWT 2
J Separator zwischen den einzelnen Symbolen in der Toolbar AWT, Swing, JavaFX & SWT 4
M JTree - Wie kann man einen einzelnen Knoten deselektieren? AWT, Swing, JavaFX & SWT 3
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
Splayfer Umrandung eines AttributedStrings AWT, Swing, JavaFX & SWT 2
Guybrush Threepwood Einfachste Möglichkeit zum Abspielen eines Videos in Swing AWT, Swing, JavaFX & SWT 4
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
Jose05 zugreifen auf ein Objekt eines GridPanes AWT, Swing, JavaFX & SWT 0
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
news2swen automatisches erstellen eines Languagefiles AWT, Swing, JavaFX & SWT 1
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
MiMa Schliessen eines FXML Fensters? AWT, Swing, JavaFX & SWT 10
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
L JavaFX Validierung eines Spinner AWT, Swing, JavaFX & SWT 1
M Builden eines lauffähigen JAR Files AWT, Swing, JavaFX & SWT 3
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
M JavaFX rotieren eines Kreises mit konstanter Geschwindigkeit AWT, Swing, JavaFX & SWT 1
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
M JavaFX Auf ein UI Elemement eines anderen Controllers zugreifen AWT, Swing, JavaFX & SWT 0
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
Tronert JavaFX Linienstärke eines Separators ändern? AWT, Swing, JavaFX & SWT 3
N JavaFX Group: Gezieltes entfernen eines Objects (Rectangle) AWT, Swing, JavaFX & SWT 0
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
J JavaFX Rectangle innerhalb eines Rectangle oder Panes positionieren? AWT, Swing, JavaFX & SWT 1
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
J linken Bildausschnitt eines BufferedImage abschneiden AWT, Swing, JavaFX & SWT 4
J bestimmten Bereich eines JPanels drucken AWT, Swing, JavaFX & SWT 2
D LookAndFeel Überschreiben eines UIDelegate AWT, Swing, JavaFX & SWT 0
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
C Zeichen eines 6 -Eckes AWT, Swing, JavaFX & SWT 1
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
Cromewell JavaFX Nur bestimmten Teil eines Canvas rendern und anzeigen AWT, Swing, JavaFX & SWT 2
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
V JavaFX Teile eines Images Transparent machen AWT, Swing, JavaFX & SWT 4
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
B Swing Wie Witdh und Height eines GuiElements bekommen AWT, Swing, JavaFX & SWT 5
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
J JavaFX Zugriff auf FXML-Variablen eines anderen Controllers AWT, Swing, JavaFX & SWT 2
K Swing Inhalt eines JPanels lesen AWT, Swing, JavaFX & SWT 3
T Nur bestimmte Bereiche eines Fotos bearbeiten AWT, Swing, JavaFX & SWT 0
J Swing Erstellung eines User Interface AWT, Swing, JavaFX & SWT 2
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
O Swing Aufbau eines JFrames AWT, Swing, JavaFX & SWT 2
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
F Instanzierung einer inneren Klasse in Klasse eines anderen Packets AWT, Swing, JavaFX & SWT 3
A befüllen eines JTables mittels Methode AWT, Swing, JavaFX & SWT 10
javampir Swing Wanderung eines JFrames AWT, Swing, JavaFX & SWT 7
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
S Swing Nur den sichtbaren Bereich eines TextPane mit Inhalt darstellem AWT, Swing, JavaFX & SWT 0
I Erstellung eines kleinen Programmes AWT, Swing, JavaFX & SWT 8
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Windows Blue-Screen nach anzeigen eines Bildes in Java AWT, Swing, JavaFX & SWT 10
T Swing Einzelne Teile eines Textes färben? AWT, Swing, JavaFX & SWT 10
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
HaukeG JavaFX JavaFX Resize und DragAndDrop eines Pane AWT, Swing, JavaFX & SWT 4
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
J Denkfehler bei Aktualisierung eines GUI AWT, Swing, JavaFX & SWT 4
J Logikfehler im erstellen eines GUI AWT, Swing, JavaFX & SWT 3
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
B Event Handling Mausbewegung auch außerhalb eines JFrames registrieren AWT, Swing, JavaFX & SWT 2
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben