Jradiobutton and Jcombobox always send the same value, even if I select another

Asked

Viewed 8 times

0

I’m having trouble even though I’m selecting another field on JComboBox it always returns the moderate value, no JRadioButton It always comes back Male the result.
I send the value to the class AtividadeFisica is then I take that amount back, to confirm if it’s right.
I’d like to know how to fix it.

Class FrameAcademia

//****** Classe  FrameAcademia
package br.academia.gui;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import br.academia.model.AtividadeFisica;

public class FrameAcademia {

    public void criarTela() {
        
        
        JFrame telaAluno = new JFrame();
        telaAluno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        telaAluno.setSize(1000, 800);
        telaAluno.setTitle("IMC e NDC");
        telaAluno.setLayout(null);
        
        //A faz tela sempre vai aparecer no meio        
        telaAluno.setLocationRelativeTo(null);

        // **** JRadioButton e JLabel género
        JLabel labelGenero = new JLabel();
        labelGenero.setText("Género: ");
        labelGenero.setBounds(125, 70, 120, 20);    
        
        JRadioButton feminino = new JRadioButton("Feminino");
        feminino.setBounds(120 , 100, 90, 15);
        
        JRadioButton masculino = new JRadioButton("Masculino");
        masculino.setBounds(240 , 100, 90, 15);

        
        ButtonGroup group = new ButtonGroup();
        group.add(masculino);
        group.add(feminino);
        
                
        JTextField textgeneroResultado = new JTextField();
        textgeneroResultado.setBounds(500, 100, 130, 15);
     
        
        // **** JLabel e JComboBox da atividade física  
        JLabel labelGrauDeAtividadeFisica = new JLabel();
        labelGrauDeAtividadeFisica.setText("Grau de atividade física: ");
        labelGrauDeAtividadeFisica.setBounds(25, 155, 230, 20); 
        
        String graudeatividadefisica[]={"Moderada","Leve","intensa"};        
        JComboBox<String> comboBoxAtividadeFisica= new JComboBox<>(graudeatividadefisica);    
        comboBoxAtividadeFisica.setBounds(180, 157, 90,20); 
        String valorSelecionado = (String) comboBoxAtividadeFisica.getSelectedItem();
        
        JTextField  comboBoxAtividadeFisicaResultado = new JTextField();
        comboBoxAtividadeFisicaResultado.setBounds(300, 157, 122, 15);
        
                
        // *** Criar o botão para calcular
        JButton buttonCalcular = new JButton();
        buttonCalcular.setText("Calcular");
        Color branco = new Color(255,255,255);
        buttonCalcular.setForeground(branco);
        Color azul = new Color(0,0,255);
        buttonCalcular.setBackground(azul);
        buttonCalcular.setBounds(25, 270,120, 30);      
        
        // *** Colocar o label, botão  dentro 
        //do painel de conteúdo contentPane -> content Pane

        telaAluno.getContentPane().add(labelGenero);
        telaAluno.getContentPane().add(masculino);
        telaAluno.getContentPane().add(feminino);
        telaAluno.getContentPane().add(textgeneroResultado);
        
        telaAluno.getContentPane().add(labelGrauDeAtividadeFisica);
        telaAluno.getContentPane().add(comboBoxAtividadeFisica); 
        telaAluno.getContentPane().add(comboBoxAtividadeFisicaResultado);
        
        telaAluno.getContentPane().add(buttonCalcular);
        telaAluno.setVisible(true);
        
        // ***** Cliques da tela
        buttonCalcular.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                
                AtividadeFisica atividadeFisica = new AtividadeFisica();
                
                atividadeFisica.setGenero(masculino.getText());
                textgeneroResultado.setText(atividadeFisica.getGenero());
                 
                atividadeFisica.setAtividadeFisica(valorSelecionado);
                comboBoxAtividadeFisicaResultado.setText(atividadeFisica.getAtividadeFisica());
                atividadeFisica.setAtividadeFisica(String.valueOf(feminino.getText()));
                
            }
        });
    }
}

Class AtividadeFisica

//Classe AtividadeFisica

package br.academia.model;

import java.time.LocalDate;
import java.time.Period;

public class AtividadeFisica {

    private String genero; 
    private String atividadeFisica;

    public void setGenero(String genero) {
        this.genero = genero;
    }
    public String getGenero() {
        return this.genero;
    }
    
    public void setAtividadeFisica(String atividadeFisica) {
        this.atividadeFisica = atividadeFisica;
    }
    
    public String getAtividadeFisica() {
        return this.atividadeFisica;
    }
    
   
}

Class App of the method Main

//Class App do método Main

package br.academia;

import br.academia.gui.FrameAcademia;

public class App {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        FrameAcademia tela = new FrameAcademia();
        tela.criarTela();
    }
}
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.