Hiperlinks dentro do TextArea

1 resposta
H
Olá. Gostaria de saber como faço para colocar hiperlinks dentro de um TextArea de tal forma que o alvo desses hiperlinks também estejam dentro do TextArea? 
Outra coisa. Tenho um TextArea com um texto enorme dentro dele e gostaria de colocar algumas palavras desse texto em negrito, porém quando seto uma string para negrito e a insiro no TextArea com o comando append, todo texto acima do que eu inseri também fica em negrito. Como faço para impedir isso? Agradeço a todos.

1 Resposta

dsfextreme

Olá !
Gostaria de lhe recomendar o uso de um JTextPane ao invés de um JTextArea.

hdsn82:
Olá. Gostaria de saber como faço para colocar hiperlinks dentro de um TextArea de tal forma que o alvo desses hiperlinks também estejam dentro do TextArea?
Vc quer fazer tipo o word ? Um link para o texto ?

No diretório java da sua máquina tem uma pasta demo com uns exemplos.SwingSet2, neste tem um que usa um html .Dá uma olhada nele.
:arrow: C:\Arquivos de programas\Java\jdk1.5.0_04\demo\jfc\SwingSet2\SwingSet2.html
O exemplo é o [color=red]JEditorPane Html Demo[/color], vê se ajuda !

Outra coisa. Tenho um TextArea com um texto enorme dentro dele e gostaria de colocar algumas palavras desse texto em negrito, porém quando seto uma string para negrito e a insiro no TextArea com o comando append, todo texto acima do que eu inseri também fica em negrito. Como faço para impedir isso? Agradeço a todos.
Dá uma sacada no exemplo abaixo :
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;

public class StyledText {
  public static void main(String args[]) throws BadLocationException {
    JFrame jf = new JFrame("StyledText");
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container cp = jf.getContentPane();

    JTextPane pane = new JTextPane();
    SimpleAttributeSet set = new SimpleAttributeSet();
    StyleConstants.setBold(set, true);

    // Set the attributes before adding text
    pane.setCharacterAttributes(set, true);
    pane.setText("Eine ");

    set = new SimpleAttributeSet();
    StyleConstants.setItalic(set, true);
    StyleConstants.setForeground(set, Color.red);
    StyleConstants.setBackground(set, Color.blue);

    Document doc = pane.getStyledDocument();
    doc.insertString(doc.getLength(), "Kleine ", set);

    set = new SimpleAttributeSet();
    StyleConstants.setFontSize(set, 24);

    doc.insertString(doc.getLength(), "Nachtmusic", set);

    JScrollPane scrollPane = new JScrollPane(pane);
    cp.add(scrollPane, BorderLayout.CENTER);

    jf.setSize(400, 300);
    jf.setVisible(true);
  }
}

Espero ter ajudado !

Criado 23 de maio de 2006
Ultima resposta 25 de mai. de 2006
Respostas 1
Participantes 2