Hi,
ich habe ein Problem, was mich zur Verzweiflung bringt. Ich setze z.B. den Text
[/CODE]
alles gut und wenn ich die Methode getText() aufrufe bekomme ich den gleichen String zurück. Wenn ich jedoch mit
die Hintergrundfarbe für den selektierten Text aufrufe, wird die Hintergrundfarbe im Editor korrekt angezeigt, jedoch wird die Änderung nicht mit getText() zurückgegeben. Bei font-size, hochstellen etc. funktioniert dies korrekt. Ich vermute hier ein Bug und suche eine Möglichkeit diesen zu umgehen.
Ich habe mir eine kleine Methode gebastelt, die mir die einzelnen gesetzten Attribute für die selektierte Position ausgibt. Auch hier ist das Attribut bgColor richtig gesetzt.
Ich möchte den Text mit den Formatierungen speichern, was auch funktioniert. Lediglich die Hintergrundfarbe geht verloren, wenn diese mit new BackGroundAction(Color.RED).actionPerformed(e) gesetzt wird, obwohl dies im Editor korrekt funktioniert.
Hier noch der Code zum Auslesen der Attribute.
ich habe ein Problem, was mich zur Verzweiflung bringt. Ich setze z.B. den Text
HTML:
<html>
<head>
</head>
<body>
<p style="margin-top: 0">
Dies ist ein <font color="#66ff33">Test</font> <font size="2" color="#ff6666" bgcolor="#662233">klei</font><font size="2">n</font>
Test
</p>
<p style="margin-top: 0">
Test<sup>2</sup>
</p>
</body>
</html>
alles gut und wenn ich die Methode getText() aufrufe bekomme ich den gleichen String zurück. Wenn ich jedoch mit
Java:
new BackGroundAction(Color.RED).actionPerformed(e)
die Hintergrundfarbe für den selektierten Text aufrufe, wird die Hintergrundfarbe im Editor korrekt angezeigt, jedoch wird die Änderung nicht mit getText() zurückgegeben. Bei font-size, hochstellen etc. funktioniert dies korrekt. Ich vermute hier ein Bug und suche eine Möglichkeit diesen zu umgehen.
Ich habe mir eine kleine Methode gebastelt, die mir die einzelnen gesetzten Attribute für die selektierte Position ausgibt. Auch hier ist das Attribut bgColor richtig gesetzt.
Ich möchte den Text mit den Formatierungen speichern, was auch funktioniert. Lediglich die Hintergrundfarbe geht verloren, wenn diese mit new BackGroundAction(Color.RED).actionPerformed(e) gesetzt wird, obwohl dies im Editor korrekt funktioniert.
Hier noch der Code zum Auslesen der Attribute.
Code:
Element e = doc.getCharacterElement(selStart);
AttributeSet attributeSet = e.getAttributes();
Utils.print(getStyleString(attributeSet));
private static String getStyleString(AttributeSet attrs) {
StringBuilder style = new StringBuilder();
Enumeration<?> attributeNames = attrs.getAttributeNames();
while (attributeNames.hasMoreElements()) {
Object name = attributeNames.nextElement();
if (name instanceof CSS.Attribute) {
CSS.Attribute cssAttr = (CSS.Attribute) name;
Object value = attrs.getAttribute(cssAttr);
style.append(cssAttr.toString()).append(": ").append(value).append("; ");
}
}
return style.toString();
}