Problemas com Codigo, Programa que formata um texto em uma

0 respostas
jframejava
Fabiordr

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

}

}
Criado 2 de maio de 2017
Respostas 0
Participantes 1