I have read a lot about Swing, but can't figure out why my GUI won't display? It compiles absolutely fine. I am guessing it's because I'm not using the setVisible() method properly, or I am not using the pack() method. I must stress I am very much a newb to Swing. I'm not looking for someone to do it for me, just a pointer in the right direction.
My code is as follows :
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
public class TestGUI3 implements ActionListener
{
JRadioButton rb1, rb2, rb3;
JFrame f;
JButton b;
public void TestGUI3(NewGameGUI NewGameGUIMethod)
{
f = new JFrame("Welcome to Ballon d'or");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
rb1 = new JRadioButton("Start New Game");
rb2 = new JRadioButton("Load Game");
rb3 = new JRadioButton("Quit");
rb1.setBounds(50,100,170,30);
rb2.setBounds(50,150,170,30);
rb3.setBounds(50,200,170,30);
ButtonGroup bg=new ButtonGroup();
bg.add(rb1);
bg.add(rb2);
bg.add(rb3);
b = new JButton("OK");
b.setBounds(200,250,180,30);
b.addActionListener(this);
f.add(rb1);
f.add(rb2);
f.add(rb3);
f.add(b);
f.setSize(500,500);
f.setLayout(null);
f.setVisible(true);
}
@Override public void actionPerformed(ActionEvent e)
{
if(rb1.isSelected())
{
f.dispose();
NewGameGUI test = new NewGameGUI();
test.getFrame().setVisible(true);
//JOptionPane.showMessageDialog(f,"New Game");
}
if(rb2.isSelected())
{
JOptionPane.showMessageDialog(f,"Load Game");
}
if(rb3.isSelected())
{
System.exit(0);
}
}
public static void main(String[] args)
{
new TestGUI3();
}
}
// my other class
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
public class NewGameGUI implements ActionListener
{
JRadioButton rb1, rb2, rb3, rb4, rb5, rb6, rb7, rb8 , rb9 , rb10, rb11, rb12, rb13, rb14, rb15, rb16, rb17, rb18, rb19, rb20;
JFrame f2;
JButton b;
JLabel label1;
public void NewGameGUIMethod()
{
label1 = new JLabel("Please choose a team");
f2 = new JFrame("Ballon d'or");
f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
rb1 = new JRadioButton("Arsenal");
rb2 = new JRadioButton("Aston Villa");
rb3 = new JRadioButton("Bournemouth");
rb4 = new JRadioButton("Chelsea");
rb5 = new JRadioButton("Crystal Palace");
rb6 = new JRadioButton("Everton");
rb7 = new JRadioButton("Leicester City");
rb8 = new JRadioButton("Liverpool");
rb9 = new JRadioButton("Manchester United");
rb10 = new JRadioButton("Manchester City");
rb11 = new JRadioButton("Newcastle United");
rb12 = new JRadioButton("Norwich City");
rb13 = new JRadioButton("Southampton");
rb14 = new JRadioButton("Stoke City");
rb15 = new JRadioButton("Sunderland");
rb16 = new JRadioButton("Swansea City");
rb17 = new JRadioButton("Tottenham Hotspur");
rb18 = new JRadioButton("Watford");
rb19 = new JRadioButton("West Brom");
rb20 = new JRadioButton("West Ham");
label1.setBounds(50,25,200,30);
rb1.setBounds(50,100,170,30);
rb2.setBounds(50,150,170,30);
rb3.setBounds(50,200,170,30);
ButtonGroup bg=new ButtonGroup();
bg.add(rb1);
bg.add(rb2);
bg.add(rb3);
bg.add(rb4);
bg.add(rb5);
bg.add(rb6);
bg.add(rb7);
bg.add(rb8);
bg.add(rb9);
bg.add(rb10);
bg.add(rb11);
bg.add(rb12);
bg.add(rb13);
bg.add(rb14);
bg.add(rb15);
bg.add(rb16);
bg.add(rb17);
bg.add(rb18);
bg.add(rb19);
bg.add(rb20);
b = new JButton("OK");
b.setBounds(200,250,180,30);
b.addActionListener(this);
f2.add(rb1);
f2.add(rb2);
f2.add(rb3);
f2.add(rb4);
f2.add(rb5);
f2.add(rb6);
f2.add(rb7);
f2.add(rb8);
f2.add(rb9);
f2.add(rb10);
f2.add(rb11);
f2.add(rb12);
f2.add(rb13);
f2.add(rb14);
f2.add(rb15);
f2.add(rb16);
f2.add(rb17);
f2.add(rb18);
f2.add(rb19);
f2.add(rb20);
f2.add(b);
f2.setSize(500,500);
f2.setLayout(null);
f2.setVisible(true);
NewGameGUI test = new NewGameGUI();
test.setFrame(f2);
}
public void setFrame(JFrame f2){
this.f2 = f2;
}
public JFrame getFrame(){
return f2;
}
public void actionPerformed(ActionEvent e)
{
if(rb1.isSelected())
{
f2.dispose();
//JOptionPane.showMessageDialog(f,"New Game");
}
if(rb2.isSelected())
{
JOptionPane.showMessageDialog(f2,"Load Game");
}
if(rb3.isSelected())
{
System.exit(0);
}
}
public static void main(String[] args)
{
new TestGUI3();
}
}
