Estruturação O.O -0 help

Faz 1 mes que estou aprendendo java, e to tentando fazer um pequeno programa, e to com problema na estruturação OO dele… Gostaria de algumas dicas de como estruturar ele “pra ficar OO”. To com maior problema na seleção das opções no RadioButton pra mandar ele fazer o q tem q conforme a opção…

[code]
import javax.swing.;
import java.awt.
;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.text.*;

public class Principal {

public static void main(String args[])
{
	ClassJFrame frame = new ClassJFrame();
}

}[/code]

public class ClassJFrame extends JFrame {

	JTextField jtJuros;
	JTextField jtParcelas;
	JTextField jtValor;
	JTextField jtValorParcela;
	JTextField jtJuroPago;
	JRadioButton jrbComposto;
	JRadioButton jrbSimples;
	JRadioButton jrbSaldoDevedor;
	ClassJurosSaldoDevedor juros;

	JButton jbCalcular;


	public ClassJFrame()
	{

		super("Janela!!!");
		
		setSize(600,450);
		
		Container ct = this.getContentPane();
		ct.setLayout(null);
		
		JLabel jlValor = new JLabel("Valor");
		jlValor.setBounds(65,30, 70, 20);
		ct.add(jlValor);
		
		jtValor = new JTextField();
		jtValor.setBounds(50, 50,75, 28);
		ct.add(jtValor);		
	

		JLabel jlJuros = new JLabel("Juros");
		jlJuros.setBounds(165,30, 75, 20);
		ct.add(jlJuros);

		jtJuros = new JTextField();
		jtJuros.setBounds(150, 50, 75, 28);
		ct.add(jtJuros);

		
		JLabel jlParcelas = new JLabel("Parcelas");
		jlParcelas.setBounds(265, 30, 70, 20);
		ct.add(jlParcelas);

		jtParcelas = new JTextField();
		jtParcelas.setBounds(250, 50, 75, 28);
		ct.add(jtParcelas);

		
		JLabel jlValorParcela = new JLabel("Valor Parcela");
		jlValorParcela.setBounds(75, 140, 90, 20);
		ct.add(jlValorParcela);

		jtValorParcela = new JTextField();
		jtValorParcela.setBounds(75, 170, 70, 28);
		//jtValorParcela.setEnabled(false);
		ct.add(jtValorParcela);


		jrbComposto = new JRadioButton("Composto");
		jrbComposto.setBounds(370, 50, 100, 20);
		ct.add(jrbComposto);


		jrbSimples = new JRadioButton("Simples");
		jrbSimples.setBounds(370, 90, 100, 20);
		ct.add(jrbSimples);

		
		jrbSaldoDevedor = new JRadioButton("Saldo Devedor");
		jrbSaldoDevedor.setBounds(370, 130, 150, 20);
		ct.add(jrbSaldoDevedor);


		ButtonGroup grupo = new ButtonGroup();

		grupo.add(jrbComposto);
		
		grupo.add(jrbSimples);
		grupo.add(jrbSaldoDevedor); 
		

		jbCalcular = new JButton("Calcular");
		jbCalcular.setBounds(135, 90, 100, 40);
		jbCalcular.addActionListener(new BotaoCalcularListener ());
		ct.add(jbCalcular); 
		
		
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		setVisible(true);
	}


	private class BotaoCalcularListener implements ActionListener {

		public void actionPerformed(ActionEvent e){
			/*if (jrbComposto.isSelected())
				juros = new ClassJurosCompostos();
			if(jrbSaldoDevedor.isSelected())
				juros = new ClassJurosSaldoDevedor(); */
			juros.setValor(getValor());
			juros.setJuros(getJuros());
			juros.setParcelas(getParcelas());
			juros.calcular();
			atualizaFrame();


		}
	}


	public double getValor()
	{
		return Double.parseDouble(jtValor.getText());
	}

	public double getJuros()
	{
		return Double.parseDouble(jtJuros.getText());
	}

	public int getParcelas()
	{
		return Integer.parseInt(jtParcelas.getText());
	}

	public void atualizaFrame()
	{
		DecimalFormat df = new DecimalFormat("0.00");
		jtValorParcela.setText((""+df.format(juros.getValorParcelas())+""));
	}
		

}

[code]
public class ClassJuros {

double valor;
double juros;
int parcelas;

double valorParcela;
double jurosPago;


public ClassJuros () {

}

public void setValor(double d)
{
	this.valor = d;
}

public void setJuros(double d)
{
	this.juros = d;
}

public void setParcelas(int i)
{
	this.parcelas = i;
}

public double getValorParcelas()
{
	return valorParcela;
}

public double getjurosPago()
{
	return jurosPago;
}

}[/code]

[code]
import java.math.*;

public class ClassJurosSaldoDevedor extends ClassJuros {

public void calcular()
{
	double k = Math.pow(1+juros/100, parcelas);
	k = (juros/100)*k / (k-1);
	super.valorParcela = valor * k;
}

}[/code]

[code]
import java.math.*;

public class ClassJurosCompostos extends ClassJuros {

public void calcular()
{
	
	super.valorParcela = Math.pow(1+super.juros/100, parcelas)*super.valor/super.parcelas;
	
	super.jurosPago = parcelas*valorParcela - valor;
}

}[/code]