:) mot en ImageIcon

Java

0 svar · 357 visningar · startad av SPiN

Medlem sedan mars 20007 896 inlägg
Trådstart#1

Halloj!

Nu vet jag inte om jag är trött i huvudet, eller om jag verkligen är slut på idéer...

Jag sitter med Swing och skapar ett litet verktyg, där jag i en JTextPane vill byta ut :), ;), :( mot en ImageIcon.

Jag har kommit så pass långt i tänkandet att jag vet hur jag byter ut förekomsten av endast en av dessa typer av smileys. (Wow!)
Dock vet jag inte hur jag ska gå till väga för att byta ut flera!?

Så här ser det ut just nu:

JTextPane textPane = new JTextPane();

Style defaultStyle = StyleContext.getDefaultStyleContext().getStyle(
	StyleContext.DEFAULT_STYLE
);

Style regular = textPane.addStyle("regular", defaultStyle);
StyleConstants.setFontFamily(defaultStyle, "Verdana");
StyleConstants.setFontSize(defaultStyle, 10);

style = textPane.addStyle("happySmiley", regular);
StyleConstants.setAlignment(style, StyleConstants.ALIGN_CENTER);
StyleConstants.setIcon(style, new ImageIcon("happySmiley.gif"));

Document document = textPane.getDocument();

String[] smajlisar = Functions.explode(str, ":)");

try {
	for(int n = 0; n < smajlisar.length; n++) {
		document.insertString(document.getLength(), smajlisar[n], textPane.getStyle("regular"));
		document.insertString(document.getLength(), ":)", textPane.getStyle("red"));
	}
}
...

Ungefär så ser det ut, lite modifierat bara. Någon som har något förslag på hur jag skulle kunna lösa det?

274 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)