Avatar billede baitianlong Nybegynder
23. maj 2004 - 20:24 Der er 4 kommentarer og
1 løsning

Programmering af Teksteditor

Hej.

Jeg havde tænkt mig at lave en slags teksteditor, som skal generere html kode ud af det man skriver - og lægge det i en database (til generering af nyhedsbreve)... Men jeg har et lille problem, som jeg ikke kan gennemskue hvordan man fikser. Hvis nu man skriver løs i et JTextField og så vil have ændret tekstens formattering midt i det hele (Bold, Farve eller andet) med tryk på en "Bold" knap, hvordan hulen skal man gøre det ??
Avatar billede soreno Praktikant
23. maj 2004 - 20:27 #1
Avatar billede baitianlong Nybegynder
23. maj 2004 - 21:57 #2
ok, jeg kan så se at jeg skal bruge et JTextPane, og at jeg kan skrive html kode på en JLabel. Men jeg vil gerne have et lille kodeeksempel for pointsne.

Et lille fungerende eksempel med JTextPane og en Bold / Not Bold knap ville være genial for mig.....
Avatar billede ulrikm Nybegynder
23. maj 2004 - 23:24 #3
public class EditEx
{
    public static void main( String[] args )
      {
        javax.swing.JTextPane textPane = new javax.swing.JTextPane();
        javax.swing.JButton button = new javax.swing.JButton("Bold on/off");

        // meget central linie:
        button.addActionListener( new javax.swing.text.StyledEditorKit.BoldAction() );

        javax.swing.JFrame frame = new javax.swing.JFrame();
        frame.getContentPane().add(textPane,java.awt.BorderLayout.CENTER);
        frame.getContentPane().add(button,java.awt.BorderLayout.SOUTH);
        frame.pack();
        frame.show();
    }
}

Her er lidt fra beskrivelsen af StyledEditorKit.StyledTextAction som BoldAction er en instans af (og som forklarer "magien" i det ovenstående):

An action that assumes it's being fired on a JEditorPane with a StyledEditorKit (or subclass) installed. This has some convenience methods for causing
character or paragraph level attribute changes. The convenience methods will throw an IllegalArgumentException if the assumption of a
StyledDocument, a JEditorPane, or a StyledEditorKit fail to be true.

The component that gets acted upon by the action will be the source of the ActionEvent if the source can be narrowed to a JEditorPane type. If the
source can't be narrowed, the most recently focused text component is changed. If neither of these are the case, the action cannot be performed.
Avatar billede baitianlong Nybegynder
20. august 2004 - 00:51 #4
Beklager at der er gået så lang tid, men jeg har prøvet at rode med JEditorPane og JTextPane et par gange. Det er fint nok at de kan vise html kode, og er editerbare. Og StyledEditorKit har gode funktioner. Jeg har bare ikke endnu fundet ud af hvordan man får html kode ud af dem.

Bold knappen i ovenstående eksempel virker fint, men kan du lave en knap, der giver html koden for indholdet i JTextPane't bagefter ?? I så fald er du smuk :)
Avatar billede baitianlong Nybegynder
11. september 2004 - 02:28 #5
StyledEditorKit var en vinder
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

IT-JOB