Ajuda com JTextField e Checkbox

3 respostas
Isaias_Sousa_Alencar

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

3 Respostas

Isaias_Sousa_Alencar

alguém Pode dar um Helps???

ViniGodoy
  1. Vá no seu primeiro tópico;
  2. Clique em editar;
  3. Coloque seu código entre as tags code:
seu código aqui
  1. Aproveite também e coloque um título mais descritivo. Todos sabem que você precisa de ajuda, e certamente é na sua aplicação. Mas um título como “Ajuda com JTextField e Checkbox” irá atrair mais gente que gosta de Swing para o tópico.
  2. Se eu aplicativo é desktop, abra o tópico na área de interface gráfica, não de desenvolvimento web. Vou mover o tópico.

Não entendi para que você quer ajuda. Seu texto ficou super confuso. Você releu? Pode dar um exemplo?

Isaias_Sousa_Alencar

Obrigado pela ajuda com o tópico ViniGodoy, acredito que esteja dentro das normas agora!

Criado 5 de março de 2010
Ultima resposta 9 de mar. de 2010
Respostas 3
Participantes 2