Problemas com Codigo, Programa que formata um texto em uma

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

}

}