jRadioButton e JComboBox sempre manda o mesmo valor, mesmo eu selecionando outra (JAVA)

Boa Tarde, estou com problema que mesmo eu selecionando outro campo no JComboBox ele sempre retorna o valor moderado, no jRadioButton ele sempre volta Masculino o resultado.
Eu mando o valor para a class AtividadeFisica é depois eu pego esse valor de volta, para confirmar se está certo.
Gostaria de saber como resolver isso.
Obrigado deste de já!

//****** 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()));
			    
			}
		});
	}
}



//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 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();
	}
}

Reveja a lógica do seu método actionPerformed pois você sempre está pegando o masculino e sempre está pegando o moderado.

Obrigado pela resposta, mas não sei como fazer de outra forma, sou novo no java
O JComboBox eu já consegui resolver
Só falta o JRadioButton

É que você sempre está pegando o valor do JRadioButton masculino, você tem que pegar o valor do JRadioButton que está selecionado.

É possivel pegar pela grupo do radio button, existe algum método
ButtonGroup group = new ButtonGroup();
group.add(masculino);
group.add(feminino);

Eu já tentei usar o método getSgetSelectedCheckbox(); , não foi

    group.getSelectedCheckbox();
    
    boolean radioSelecionado;
    radioSelecionado =  group.isSelected();

Eu tentei assim, mas da erro

Eu também mudei é coloquei assim
atividadeFisica.setGenero(masculino.getText());
atividadeFisica.setGenero(feminino.getText());
Mas tá errado, só pega o masculino, mesmo quando o feminino está selecionado

Eu pesquisei eu descobri que eu tenho que ir perguntando a cada radioButton através do isSelected(), e depois pegar o texto.
Mas eu não sei como eu faço isso.

if ( radioA.isSelected() ) {
    // radioA está selecionado...
} else if ( radioB.isSelected() ) {
    // radioB está selecionado...
}

Eu fiz assim, mas não deu certo
Erro: O valor da variável local sexoSelecionado não é usado

	JRadioButton feminino = new JRadioButton("Feminino");
	feminino.setBounds(120 , 100, 90, 15);
	
	JRadioButton masculino = new JRadioButton("Masculino");
	masculino.setBounds(300 , 100, 90, 15);
	
	
	ButtonGroup group = new ButtonGroup();
    group.add(masculino);
    group.add(feminino);	
 
    if ( feminino.isSelected() ) {

  	    String generoSelecionado = "Masculino";
    } else if ( masculino.isSelected() ) 
    
    {
  	    String generoSelecionado = "Feminino";  
    }

//////////////////////////////////////
Eu quero pegar o valor selecionado é jogar dentro de uma variável que está em outra classe
Estou tentando assim

buttonCalcular.addActionListener(new ActionListener() {

		@Override
		public void actionPerformed(ActionEvent e) {

                AtividadeFisica atividadeFisica = new AtividadeFisica();

                 atividadeFisica.setGenero(String.valueOf(sexoSelecionado));
}
	});

Esses if você tem que pôr no seu ActionListener.

1 curtida

Obrigado por responder
Mesmo assim da erro
Erro: generoSelecionado não pode ser resolvido

buttonCalcular.addActionListener(new ActionListener() {

		@Override
		public void actionPerformed(ActionEvent e) {
if ( feminino.isSelected() ) { 
				String generoSelecionado = "Feminino"; 
				}
			else if ( masculino.isSelected() ) { 
				String generoSelecionado = "Masculino”"; 
				}
			
			atividadeFisica.setGenero(generoSelecionado.getText);
                              //Tentei assim também
			atividadeFisica.setGenero(generoSelecionado);
                     atividadeFisica.setGenero(this.generoSelecionado);

}
	});

Obrigado staroski, sem você não teria conseguido, fiz assim e deu certo
Eu vi outro post com mesmo problema que você tinha respondido

			if ( feminino.isSelected() ) { 
				String generoSelecionado = "Feminino"; 
				atividadeFisica.setGenero(generoSelecionado);
				}
			else if ( masculino.isSelected() ) { 
				String generoSelecionado = "Masculino"; 
				atividadeFisica.setGenero(generoSelecionado);
				}

Falta de atenção, você está declarando a variável dentro do if e está tentando usar ela fora dele.