Tworzenie nowego okna JFrame

Tworzenie nowego okna JFrame
BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 99
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

Kopiuj
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:

Kopiuj
class MyPanel extends JPanel {
...
public void playGame(){
        GameWindow gx = null;
        gx = new GameWindow(100,mapX,mapY,gx);
}
...
}
ME
  • Rejestracja: dni
  • Ostatnio: dni
0

Problem tkwi w

Kopiuj
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:

Kopiuj
 
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);
    }
}
Kopiuj
 public class MyPanel {

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

	}
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

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

BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 99
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.