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

06/02/2021

2

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar