Hallo,
zur Zeit programmiere ich an einem PMS- Center für das CMS Joomla! (www.joomlascripts.de).
In diesem soll es möglich sein auf Nachrichten zu antworten, wo ich gerne einen Smyliesupport einbauen würde.
Zur Zeit habe ich es wie folgt gelöst:
in dem Textpane werden die Smylies gesetzt
in der HashMap sind die Smylie Kürzel ;-), und Icons drin
in emoticons sind alle verfügbaren Smyliekürzel abgelegt.
Im Moment setze ich einfach an der Stelle wo das Smyliekürzel auftritt, das entsprechende Smylieicon.
Nun würde ich gerne auch das Smyliekürzel noch mit entfernen.
Habe auch schon probiert
msg.replaceAll(Smyliekürzel, "") -> jedoch hat dies immer zu einer Exception geführt.
Ich denke das dies an der ")" im Smylie scheitert.
Wie könnte ich dies realisieren?
Meine zweite Frage wäre, wie kann ich wenn ich jetzt so ein Icon im Textpane gesetzt habe und später den Text abfrage ( schreiben einer neuen Nachricht mit Smyliesupport) erkennen, welches Icon gesetzt wurde?
Die getText- Methode liefert mir logischerweiße nur den Text ohne einen Hinweiß wo noch ein Icon gesetzt wurde.
Sollte ich dort ein extra Array mit laufen lassen, welches speichert welches Smylie an welcher Stelle gesetzt wurde?
Danke schon einmal für eure Antworten.
Bye Tobbe
zur Zeit programmiere ich an einem PMS- Center für das CMS Joomla! (www.joomlascripts.de).
In diesem soll es möglich sein auf Nachrichten zu antworten, wo ich gerne einen Smyliesupport einbauen würde.
Zur Zeit habe ich es wie folgt gelöst:
Code:
public static void parseTextToImages(JTextPane pane, HashMap<String, ImageIcon> icons, ArrayList emoticons) {
String msg = pane.getText();
Document doc = pane.getStyledDocument();
for (int i = 0; i < emoticons.size(); i++) {
if(msg.indexOf(emoticons.get(i).toString()) != -1) {
pane.setCaretPosition(msg.indexOf(emoticons.get(i).toString()));
pane.insertIcon(icons.get(emoticons.get(i)));
}
}
}
in dem Textpane werden die Smylies gesetzt
in der HashMap sind die Smylie Kürzel ;-), und Icons drin
in emoticons sind alle verfügbaren Smyliekürzel abgelegt.
Im Moment setze ich einfach an der Stelle wo das Smyliekürzel auftritt, das entsprechende Smylieicon.
Nun würde ich gerne auch das Smyliekürzel noch mit entfernen.
Habe auch schon probiert
msg.replaceAll(Smyliekürzel, "") -> jedoch hat dies immer zu einer Exception geführt.
Ich denke das dies an der ")" im Smylie scheitert.
Wie könnte ich dies realisieren?
Meine zweite Frage wäre, wie kann ich wenn ich jetzt so ein Icon im Textpane gesetzt habe und später den Text abfrage ( schreiben einer neuen Nachricht mit Smyliesupport) erkennen, welches Icon gesetzt wurde?
Die getText- Methode liefert mir logischerweiße nur den Text ohne einen Hinweiß wo noch ein Icon gesetzt wurde.
Sollte ich dort ein extra Array mit laufen lassen, welches speichert welches Smylie an welcher Stelle gesetzt wurde?
Danke schon einmal für eure Antworten.
Bye Tobbe