Jak uczynić zaznaczony tekst w JTextArea łańcuchem?

Pracuję nad prostym edytorem tekstu z java swing i układami, i próbuję dowiedzieć się, jak tworzyć pojedyncze bloki tekstu pogrubioną czcionką, kursywą lub różnymi rozmiarami czcionek zamiast całego bloku tekstu zmieniającego się jednocześnie w moim JTextArea.

Czy jest jakiś sposób na zainicjowanie ciągu znaków, ponieważ użytkownik podświetla tekst w JTextArea za pomocą myszy? Uwielbiałbym to, gdyby istniał jakiś ActionListener lub coś dla JTextArea, który mógłby wykryć to wszystko i łatwo zapisać cokolwiek jako łańcuch, ale nie jestem pewien, czy to jest możliwe. Coś takiego byłoby wspaniałe:

String selectedtext;
JTextArea type;

class TextPanel extends JPanel implements ActionListener
{
    public TextPanel()
    {
        type = new JTextArea();
        type.addActionListener(this);
        this.add(type);
    }

    public void actionPerformed(ActionEvent e)
    {
        selectedtext = e.getSelected();
    }
}

questionAnswers(5)

yourAnswerToTheQuestion