/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JEditorPane - indsætte HTML
Fra : Runi Thomsen


Dato : 24-05-01 00:54

Hvodan kan man indsætte en HTML formateret String i
et JEditorPane ?

JeditorPane´et er initialiseret ved:

jEditorPaneEtEllerAndet.setEditorKit(new
javax.swing.text.html.HTMLEditorKit());

Problemet er at jeg vil kunne markere noget text, trykke på en knap, og
vupti – texten bliver bold,
altså noget med

jEditorPaneEtEllerAndet.replaceSelection(HTML.Tag.b, "bla bla");

Problemet er bare at denne metode ikke eksisterer

Pleaz Help me.

Mvh.

Runi Thomsen – runi@javapeople.dk



 
 
Martin Mouritzen (24-05-2001)
Kommentar
Fra : Martin Mouritzen


Dato : 24-05-01 09:45

After I finished the 3 Pan Galactic Gargle Blasters, Runi Thomsen
<runi@wol.dk> just offered me, he muttered some weird stuff, and I had
to correct this gibberish:

>Problemet er at jeg vil kunne markere noget text, trykke på en knap, og
>vupti – texten bliver bold,
>altså noget med

Prøv evt. at bruge actions, der findes allerede en
bold/italic/underline/whatever action, og den laver også fint HTML'en
for dig.

>jEditorPaneEtEllerAndet.replaceSelection(HTML.Tag.b, "bla bla");

Du kan evt. bruge insertHTML metoden i HTMLEditorKit klassen, jeg må
dog indrømme jeg ikke lige har haft de bedste erfaringer med den (Jeg
kæmper rent faktisk med den i øjeblikket).
--
Martin Mouritzen. | http://www.trendy.dk
The truth is out there! Does anyone know the URL?

Theo Stidsen (26-05-2001)
Kommentar
Fra : Theo Stidsen


Dato : 26-05-01 18:41

Nu er der bare lige det problem at bold action har fejl. Prøv at kigge på
den HTML kode der kommer retur, efter at have brugt bold action til at
fjerne bold med... rigtigt gættet det virker ikke.

Medsendte kode stump er en del af MyHTMLEditorKit som arver fra
HTMLEditorKit. Koden stammer fra en work-a-round SUN selv foreslår, men som
heller ikke holder vand. Hvis du vil have hele "MyHTMLEditorKit", kan du
bare sende mig en mail.

Beklager hvis koden er lidt rusten, den er i sin tid kastet sammen, og jeg
havde travlt.

--
public static class MyBoldAction extends StyledTextAction {

/**
* Constructs a new BoldAction.
*/
public MyBoldAction() {
super("bold");
}

/**
* Toggles the bold attribute.
*
* @param e the action event
*/
public void actionPerformed(ActionEvent e) {
JEditorPane editor = getEditor(e);
if (editor != null) {
HTMLDocument doc = (HTMLDocument) editor.getDocument();
MyHTMLEditorKit kit = (MyHTMLEditorKit)
editor.getEditorKit();
boolean bold = false;
AttributeSet attr = null;
SimpleAttributeSet sas = new SimpleAttributeSet();

// Make sure elements are created if needed
setCharacterAttributes(editor,sas,false);

int p0 = editor.getSelectionStart();
int p1 = editor.getSelectionEnd();
int length = p1 - p0;
int endOffset = Integer.MAX_VALUE;
// Iterate over the selection and modify the bold attribute
// of each element
for (int pos = p0; pos < (p0 + length); pos = endOffset) {
Element element = doc.getCharacterElement(pos);
endOffset = element.getEndOffset();
attr = element.getAttributes();
bold = (StyleConstants.isBold(attr)) ? false : true;
sas = new SimpleAttributeSet();
sas.addAttributes(attr);
StyleConstants.setBold(sas, bold);
if (!bold) { // remove bold
sas.removeAttribute(HTML.Tag.B);
sas.removeAttribute(CSS.Attribute.FONT_WEIGHT);
}
doc.setCharacterAttributes(element.getStartOffset(),
element.getEndOffset()-
element.getStartOffset(),
sas,
true);
}
// Set the focus back to the editor
editor.requestFocus();
}
}
}


--
Theo Stidsen
Cancer Research Project - Team Denmark Against Cancer
http://213.237.41.12/DU/index.html
"Martin Mouritzen" <martin@fez.dk> wrote in message
news:9eihp9$sho$1@news.cybercity.dk...
> After I finished the 3 Pan Galactic Gargle Blasters, Runi Thomsen
> <runi@wol.dk> just offered me, he muttered some weird stuff, and I had
> to correct this gibberish:
>
> >Problemet er at jeg vil kunne markere noget text, trykke på en knap, og
> >vupti - texten bliver bold,
> >altså noget med
>
> Prøv evt. at bruge actions, der findes allerede en
> bold/italic/underline/whatever action, og den laver også fint HTML'en
> for dig.
>
> >jEditorPaneEtEllerAndet.replaceSelection(HTML.Tag.b, "bla bla");
>
> Du kan evt. bruge insertHTML metoden i HTMLEditorKit klassen, jeg må
> dog indrømme jeg ikke lige har haft de bedste erfaringer med den (Jeg
> kæmper rent faktisk med den i øjeblikket).
> --
> Martin Mouritzen. | http://www.trendy.dk
> The truth is out there! Does anyone know the URL?



Martin Mouritzen (29-05-2001)
Kommentar
Fra : Martin Mouritzen


Dato : 29-05-01 10:05

After I finished the 3 Pan Galactic Gargle Blasters, "Theo Stidsen"
<stidsen@image.dk> just offered me, he muttered some weird stuff, and
I had to correct this gibberish:

>Nu er der bare lige det problem at bold action har fejl. Prøv at kigge på
>den HTML kode der kommer retur, efter at have brugt bold action til at
>fjerne bold med... rigtigt gættet det virker ikke.

Hmmm, det problem har jeg ikke, Den indsætter og fjerner fint bold
her.
--
Venlig hilsen / Best regards
Martin Mouritzen - martin@eisenstein.dk
Eisenstein - http://www.eisenstein.dk

Theo Stidsen (29-05-2001)
Kommentar
Fra : Theo Stidsen


Dato : 29-05-01 11:56

> >Nu er der bare lige det problem at bold action har fejl. Prøv at kigge på
> >den HTML kode der kommer retur, efter at have brugt bold action til at
> >fjerne bold med... rigtigt gættet det virker ikke.
>
> Hmmm, det problem har jeg ikke, Den indsætter og fjerner fint bold
> her.

Mine erfaringer med nettop dette problem ligger ca. 4-6 mdr tilbage, men jeg
mener at vi konstaterede fejlen i både JRE1.2 og JRE1.3.0

Med venlig hilsen
--
Theo Stidsen




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste