@Fabiordr escreveu:
Quero implementar a classe JanelaAnotacao para que quando o usuário clicar nas opções Negrito, Itálico e Sublinhado e para quando selecionar um tipo de fonte, o texto do componente JTextArea seja formatado com as opções escolhidas. Quando uma opção for desmarcada, desfazer a formatação no texto.
import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JTextField; public class CheckBoxFrame extends JFrame{ private JTextField textField; //exibe o texto na alteração de fonte private JCheckBox boldcheckBox; //ao selecionar torna o texto em negrito private JCheckBox italicCheckBox; //ao selecionar torna o texto em itálico //Construtor public CheckBoxFrame(){ super(“JCheckBox”); setLayout(new FlowLayout()); //configura layout //configura JTextField e sua fonte textField = new JTextField(“Esta fonte sera modificada”,20); textField.setFont(new Font(“Serif”,Font.PLAIN,14)); add(textField); boldcheckBox = new JCheckBox(“Bold”); //Cria caixa de seleção p/ negrito italicCheckBox = new JCheckBox(“Italic”); //Cria caixa de seleção p/ itálico add(boldcheckBox); add(italicCheckBox); //listeners registradores para JCheckBoxes CheckBoxHandler handler = new CheckBoxHandler(); boldcheckBox.addItemListener(handler); italicCheckBox.addItemListener(handler); } private class CheckBoxHandler implements ItemListener{ //Atributos: Define por padrão como PLAIN(Fonte sem alterações) private int valBold = Font.PLAIN; // controla o estilo de fonte negrito private int valItalic = Font.PLAIN; //controla o estilo de fonte itálico // Responde aos eventos da caixa de seleção public void itemStateChanged(ItemEvent event){ //Verifica qual caixa de seleção foi ativada if(event.getSource() == boldcheckBox){ valBold = boldcheckBox.isSelected() ? Font.BOLD : Font.PLAIN; } if(event.getSource() == italicCheckBox){ valItalic = italicCheckBox.isSelected() ? Font.ITALIC : Font.PLAIN; } //Configura a fonte do campo de texto textField.setFont(new Font(“Serif”,valBold + valItalic,14)); } } public static void main(String[] args) { CheckBoxFrame checkBoxFrame = new CheckBoxFrame(); checkBoxFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); checkBoxFrame.setSize(275,100); //Define o Tamanho do Frame checkBoxFrame.setVisible(true); //Exibe Frame } }
Mensagens: 1
Participantes: 1