Ciao, vedo un paio di cose sbagliate concentrate in poche righe di codice
codice:
public class Finestra extends JFrame{
Container mainContainer;
JTextField mazzo, carte, percentuale;
JRadioButton primo, secondo;
public Finestra() {
JFrame window = new JFrame("Calcolo Probabilità Yugioh");
a) Tutti questi qui dovrebbero essere private, ovvero usabili solo nella stessa classe.
private Container mainContainer;
private JTextField mazzo, carte, percentuale;
private JRadioButton primo, secondo;
b)
codice:
public class Finestra extends JFrame
....
....
public Finestra() {
JFrame window = new JFrame("Calcolo Probabilità Yugioh");
window.setSize(347, 228);
window.setResizable(false);
window.setLocationRelativeTo(null);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
E' inutile istanziare una variabile JFrame (window) che dichiari e poi estendi finestra
dovresti fare una cosa del genere
codice:
public class Finestra extends JFrame
....
....
public Finestra() {
super("Calcolo Probabilità Yugioh");
this.setSize(347, 228);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainContainer = this.getContentPane();
mainContainer.setLayout(new GridLayout(5, 2));
inoltre parte di queste funzioni solitamente si dichiarano alla fine.
Direi che ti conviene fare un mainPanel che ti contenga tutti i tuoi panelli e poi aggiungerne solo uno al JFrame, è una gestione più lineare.
Ciao.