Tak, korzystam z JTextPane. Udało mi się rozwiązać ten problem, chociaż chwilę mi to zajęło. Dziękuję za poświęcenie chwili na pomoc :). Zrobiłem to w ten sposób
if(e.getSource()==bTest)
{
notatnik.setText(notatnik.getText().replaceAll("\r\n", "\n")); //notatnik to mój JTextPane
Pattern pattern = Pattern.compile("<b>([^<]*)</b>");
Matcher m = pattern.matcher(notatnik.getText());
Document doc = notatnik.getDocument();
SimpleAttributeSet sa = new SimpleAttributeSet();
sa.addAttribute(StyleConstants.Bold, Boolean.TRUE);
int index;
while(m.find())
{
index = notatnik.getText().indexOf("<b>"+m.group(1)+"</b>");
try
{
System.out.println(m.group(1));
doc.remove(index,("<b>"+m.group(1)+"</b>").length());
doc.insertString(index, m.group(1), sa);
}
catch(Exception e1)
{
e1.printStackTrace();
}
}
}
Pozwolę sobie jeszcze na mały offtopic. Chodzi za mną pytanie, co to tak naprawdę znaczy działać na dokumencie np. textpane.getDocument()? Szukałem już informacji w google na ten temat, ale nie znalazłem takiej odpowiedzi, która rozjaśniłaby mi tą kwestię. Dlaczego document nie pojawia się na tego typu rysunkach przedstawiających hierarchię w okienku?