E ai pessoal blz ?
Como vcs verao no codigo, eu fiz um JTextArea com JScrollPane … e tambem trocar a fonte da letra … so que eu nao consigo fazer com que troque apenas aquelas letras selecionadas pelo usuario … ou seja, eu só consegui fazer com que troque a fonte de todas as letras presentes no text area … alguem tem alguma ideia de como fazer trocar a fonte da letra, palavra selecionada ?
[code]
JPanel p1 = new JPanel();
JTextArea texto;
JPanel p2 = new JPanel();
JRadioButton plain, bold, italic, boldItalic;
ButtonGroup radioGroup;
Font plainFont, boldFont, italicFont, biFont;
public Observacoes() {
JPanel painelCentral = new JPanel(new BorderLayout());
JPanel painelInferior = new JPanel(new FlowLayout());
TitledBorder titulo;
titulo = BorderFactory.createTitledBorder("");
JPanel painelRel = new JPanel();
painelRel.setPreferredSize(new Dimension(900, 900));
painelRel.setBorder(titulo);
texto = new JTextArea(45, 70);
texto.setLineWrap(true);
texto.setWrapStyleWord(true);
JScrollPane barra = new JScrollPane(texto); //Adiciona Scroll a TextArea
barra.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
p2.add(barra); //Adiciona a Scroll ao painel
painelRel.add(p2);
painelCentral.add(painelRel,BorderLayout.CENTER);
painelCentral.add(painelInferior,BorderLayout.EAST);
TitledBorder tituloBot;
tituloBot = BorderFactory.createTitledBorder("Fontes");
JPanel painelBotao = new JPanel();
painelBotao.setPreferredSize(new Dimension(200, 200));
painelBotao.setBorder(tituloBot);
plain = new JRadioButton("Plain", true);
painelBotao.add(plain);
bold = new JRadioButton("Bold", false);
painelBotao.add(bold);
italic = new JRadioButton("Italic", false);
painelBotao.add(italic);
boldItalic = new JRadioButton("Bold/Italic", false);
painelBotao.add(boldItalic);
RadioButtonAction act = new RadioButtonAction();
plain.addItemListener(act);
bold.addItemListener(act);
italic.addItemListener(act);
boldItalic.addItemListener(act);
radioGroup = new ButtonGroup();
radioGroup.add(plain);
radioGroup.add(bold);
radioGroup.add(italic);
radioGroup.add(boldItalic);
plainFont = new Font("Serif", Font.PLAIN, 14);
boldFont = new Font("Serif", Font.BOLD, 14);
italicFont = new Font("Serif", Font.ITALIC, 14);
biFont = new Font("Serif", Font.BOLD + Font.ITALIC, 14);
texto.setFont(plainFont);
painelInferior.add(painelBotao);
p1.add(painelCentral);
}
private class RadioButtonAction implements ItemListener {
public void itemStateChanged(ItemEvent e) {
if(e.getSource() == plain)
texto.setFont(plainFont);
else if(e.getSource() == bold)
texto.setFont(boldFont);
else if(e.getSource() == italic)
texto.setFont(italicFont);
else if(e.getSource() == boldItalic)
texto.setFont(biFont);
}
}[/code]