2017-02-28 2 views
0

Ich habe ein JPanel erstellt und die Größe dafür zugewiesen. Aber die zugewiesene Größe funktioniert nicht. Ich kann nicht herausfinden, was das Problem mit dem Code ist? Ich bekomme nur den JFrame. Wieso ist es so? Bitte helfen Sie!JPanel kann die angegebene Größe nicht erhalten

// Frame.java 
    package game; 
    import java.awt.GridLayout; 
    import javax.swing.JFrame; 
    import game.graphics.Screen; 
    public class Frame extends JFrame{ 
     public Frame() 
     { 
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setTitle("SNAKE"); 
      setResizable(false); 
      setVisible(true); 
     } 
     public void Init() 
     { 
      setLayout(new GridLayout(1,1,0,0));  
      Screen s = new Screen(); 
      add(s); 
      pack();  
      setLocationRelativeTo(null);   
     } 
     public static void main(String[] args) 
     { 
      new Frame(); 
     } 
    } 
    //Screen.java 
    package game.graphics; 
    import java.awt.Dimension; 
    import javax.swing.JPanel; 
    public class Screen extends JPanel { 

     public static final int WIDTH = 800, HEIGHT = 800; 
     public Screen() 
     { 
      setPreferredSize(new Dimension(WIDTH, HEIGHT)); 
     } 
    } 
+5

Sie müssen irgendwo die 'Init()' Methode aufzurufen Ihre 'Screen' zum' Frame' hinzuzufügen. – Izruo

+0

Danke, es hat funktioniert. – nischalinn

Antwort

0
import java.awt.Dimension; 
import javax.swing.JPanel; 
import java.awt.GridLayout; 
import javax.swing.JFrame; 
public class Frame extends JFrame{ 
    public Frame() 
    { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setTitle("SNAKE"); 
     setResizable(false); 
     setVisible(true); 
    } 
    public void Init() 
    { 
     setLayout(new GridLayout(1,1,0,0));  
     Screen s = new Screen(); 
     add(s); 
     pack();  
     setLocationRelativeTo(null);   
    } 
    public static void main(String[] args) 
    { 
     Frame f = new Frame(); 
     f.Init(); 
    } 




public class Screen extends JPanel { 

    public static final int WIDTH = 1000, HEIGHT = 800; 
    public Screen() 
    { 
     setPreferredSize(new Dimension(WIDTH, HEIGHT)); 
    } 
} 
    } 

// hier ist die Lösung

Verwandte Themen