Olá pessoal,
venho com mais uma dúvida:
Copiei este exemplo do site da Impacta Online(curso IAD que eu faço). o exemplo deveria mostrar um frame com as 4 caixas de seleção, e cada caixa mudaria a fonte do texto do text field, porém o programa só mostra 3 caixas de seleção e não muda a fonte.
OBS.: Copiei o exemplo exatamente como estava no site.
package swing;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ExemploJRadioButton extends JFrame {
private JRadioButton radioButtonNormal;
private JRadioButton radioButtonNegrito;
private JRadioButton radioButtonItalico;
private JRadioButton radioButtonItalicoNegrito;
private ButtonGroup radioGroup;
private JTextField texto;
private Font fonteNormal;
private Font fonteNegrito;
private Font fonteItalico;
private Font fonteItalicoNegrito;
private Container c;
private TratadoraEventoJRadioButton tratadoraJRadioButton;
public ExemploJRadioButton(){
super("RadioButton exemplo");
c=getContentPane();
c.setLayout(new FlowLayout());
texto=new JTextField("Clique no botões para ver o resultado",25);
c.add(texto);
tratadoraJRadioButton=new TratadoraEventoJRadioButton();
radioGroup=new ButtonGroup();
//criação dos JRadioGroups
radioButtonNormal=adicionarRadio("Normal", true);
radioButtonNegrito=adicionarRadio("Negrito",false);
radioButtonItalico=adicionarRadio("Itálico",false);
radioButtonItalicoNegrito=adicionarRadio("Negrito + Italico",false);
//criação das fontes
fonteNormal=new Font("TimesRoman",Font.PLAIN,14);
fonteNegrito=new Font("TimesRoman",Font.BOLD,14);
fonteItalico=new Font("TimesRoman",Font.ITALIC,14);
fonteItalicoNegrito=new Font("TimesRoman",Font.BOLD + Font.ITALIC,14);
texto.setFont(fonteNormal);
setSize(330,100);
//centraliza o frame
setLocationRelativeTo(null);
//encerra o programa quando o x for clicado
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String args[]){
ExemploJRadioButton frame=new ExemploJRadioButton();
}
//definição do método para adicionar componentes
private JRadioButton adicionarRadio(String nome,boolean b){
JRadioButton radioBot=new JRadioButton(nome, b);
c.add(radioBot);
radioGroup.add(radioBot);
return radioBot;
}
private class TratadoraEventoJRadioButton implements ItemListener{
public void itemStateChanged(ItemEvent e){
if(e.getSource()==radioButtonNormal){
texto.setFont(fonteNormal);
}else if(e.getSource()==radioButtonNegrito){
texto.setFont(fonteNegrito);
}else if(e.getSource()==radioButtonItalico){
texto.setFont(fonteItalico);
}else if(e.getSource()==radioButtonItalicoNegrito){
texto.setFont(fonteItalicoNegrito);
}
texto.repaint();
}
}
}
Valeu 