Avatar billede _henrik Nybegynder
05. november 2004 - 18:50 Der er 4 kommentarer

JTextPane og font

Jeg er ved at skrive en HTML editor og er løbet ind i nogle problemer med anvende forskellige fonte i JTextPane. Fontene bliver valgt fra en JComboBox, hvorefter de indsættes på cursorens plads eller erstatter den nuværende font, hvis der er noget markeret tekst. Det ser rigtig ud i editoren, men når jeg skriver det til en html fil er der ingen tags der angiver font



else if(e.getSource() == fonts)
{
SimpleAttributeSet att = new SimpleAttributeSet();
StyledDocument styledDoc = textPane.getStyledDocument();
int start = textPane.getSelectionStart(); 
int end = textPane.getSelectionEnd();
int cursorLocation = textPane.getCaretPosition() ;
int index = fonts.getSelectedIndex();
String fontName = elements[index];

//set font type
StyleConstants.setFontFamily(att, fontName);

//text is selected -> change selection
if(start != end)
{
styledDoc.setCharacterAttributes(start, (end-start), att, false);
}
//no selection -> from caret position
else
{
styledDoc.setCharacterAttributes(cursorLocation, 1, att, false);
textPane.grabFocus();
//move cursor to the right position
textPane.setCaretPosition(cursorLocation +1);
}
}
Avatar billede _carsten Nybegynder
05. november 2004 - 21:21 #1
Prøv at udskifte dit JTextArea med et JEditorPane, mener det er løsningen men er ikke sikker.
Avatar billede _henrik Nybegynder
05. november 2004 - 22:08 #2
Jeg anvender et JTextPane. Det extender fra JEditorPane burde det ikke virke?
Avatar billede _carsten Nybegynder
05. november 2004 - 22:30 #3
Jo - det ville jeg mene, men fakta er åbenbart noget andet, og jeg kan desværre ikke lige huske hvordan den skal håndteres.
Avatar billede _henrik Nybegynder
06. november 2004 - 00:01 #4
Jeg har fået det med font skifte til at virke nogenlunde men for at den skal virke skal man bevæge cursoren frem og tilbage et par gange. Jeg har ingen ide om hvad der er galt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester