Tworzenie nowego okna JFrame

0

Witam,
Chcę stworzyć nowe okno w programie i przekazać referencję do innej klasy aby potem to okno zamknąć i problem polega na tym za JFrame tworzy mi dwa zamiast jednego okna i potem jedne zamykam a drugie pozostaje otwarte.
Kod klasy nowego okna

class GameWindow extends JFrame {

    GameWindow(int s,int x, int y,GameWindow gx) {
        setTitle("Game");
        setSize(x, y);
        setResizable(false);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        requestFocusInWindow();

        Game g = new Game(s,x,y,this);
        add(g);
        setVisible(true);
    }
}

Kod z klasy w której tworze okno:

class MyPanel extends JPanel {
...
public void playGame(){
        GameWindow gx = null;
        gx = new GameWindow(100,mapX,mapY,gx);
}
...
}
0

Problem tkwi w

Game g = new Game(s,x,y,this);

Bo skopiowałem całą resztę Twojego kodu i wrzuciłem do Eclipse i działa ok.
Żeby nie było tak to wygłąda:

 
import javax.swing.JFrame;
import javax.swing.JTextArea;

class GameWindow extends JFrame {
 
    GameWindow(int s,int x, int y,GameWindow gx) {
        setTitle("Game");
        setSize(x, y);
        setResizable(false);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        requestFocusInWindow();
 
        JTextArea text = new JTextArea(90, 90); //to zeby cokolwiek dodac do okna. :)
        add(text);
        		
        setVisible(true);
    }
}
 public class MyPanel {

	public static void main(String[] args) {
		
		GameWindow gx = null;
        gx = new GameWindow(100,100,100,gx);

	}
0

Game g = new Game(s,x,y,this);
...
class GameWindow extends JFrame {

0

Pod windowsem faktycznie tworzy jedno okno natomiast jak kompiluje i dopalam na linuxie tworzy dwa okna, sam nie wiem czemu

1 użytkowników online, w tym zalogowanych: 0, gości: 1