Galera o Codigo abaixo faz com que eu troque a formatação do texto para bold e italic, Criei mais um CheckBox com a Função de apagar o texto, agora queria uma ajuda para que qualquer texto que eu for digitar no textField fique fixado e quando eu selecionar o CheckBox ele apague automatica, e quando eu tirar a seleção o texto digitado retorne!
chamo minha classe de CheckBoxFrame que faz um extends do meu Frame
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
public class CheckBoxFrame extends JFrame {
private JTextField textField;
private JCheckBox boldJCheckBox;
private JCheckBox italicJCheckBox;
private JCheckBox apagarJCheckBox;
public CheckBoxFrame() {
super("JCheckBox Test");
setLayout(new FlowLayout());
setLocationRelativeTo(null); //Inicializar a aplicação centralizada;
textField = new JTextField("ESSE E O TEXTO PADRÃO", 20);
textField.setFont(new Font("Serif", Font.PLAIN, 14));
add(textField);
boldJCheckBox = new JCheckBox("Bold");
italicJCheckBox = new JCheckBox("Italic");
apagarJCheckBox = new JCheckBox("Apagar");
add(boldJCheckBox);
add(italicJCheckBox);
add(apagarJCheckBox);
CheckBoxHandler handler = new CheckBoxHandler();
boldJCheckBox.addItemListener(handler);
italicJCheckBox.addItemListener(handler);
apagarJCheckBox.addItemListener(handler);
}
private class CheckBoxHandler implements ItemListener {
private int valBold = Font.PLAIN;
private int valItalic = Font.PLAIN;
private String valApagar;
public void itemStateChanged(ItemEvent event) {
if (event.getSource() == boldJCheckBox) {
valBold =
boldJCheckBox.isSelected() ? Font.BOLD : Font.PLAIN;
}
if (event.getSource() == italicJCheckBox) {
valItalic =
italicJCheckBox.isSelected() ? Font.ITALIC : Font.PLAIN;
}
if (event.getSource() == apagarJCheckBox) {
valApagar =
apagarJCheckBox.isSelected() ? "":"";
textField.setText(valApagar);
}
textField.setFont(
new Font("Serif", valBold + valItalic, 14));
}
}
}
Aqui Minha outra classe que contem o metodo main responsavel pela execução da aplicação!
import javax.swing.JFrame;
public class CheckBoxTest
{
public static void main( String args[] )
{
CheckBoxFrame checkBoxFrame = new CheckBoxFrame();
checkBoxFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
checkBoxFrame.setSize( 275, 100 );
checkBoxFrame.setVisible( true );
}
}
Att,
Isaias Alencar