2016-08-22 3 views
-3

Ich mache ein kleines Spiel zu meinem Vergnügen, und wenn ich meine JPanel zum JFrame hinzufüge, zeigt sich nichts, was ich in meiner anderen Klasse gezeichnet habe.Dinge in meinem JPanel werden nicht angezeigt. JAVA

Hier ist meine Hauptklasse

package Game; 

import java.awt.*; 
import javax.swing.*; 
import Game.Player; 


public class Frame { 
    static JFrame f = new JFrame("xx"); 
    public static JLabel points = new JLabel(); 
    public static void main(String[] args) { 

     Player pl = new Player(); 
     JPanel p = new JPanel(); 
     points.setFont(new Font("Verdana",1,20)); 

     p.add(pl); 
     p.add(points); 


     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     f.setResizable(false); 
     f.setSize(800, 800); 
     f.setTitle("Box Game"); 
     f.add(p);   


     f.setVisible(true); 
    } 
} 

Ich bin eine harte Zeit, es so kann jemand mir bitte helfen, herauszufinden, ... DANKE!

+0

Ich habe ein 'JLabel myJLabel = neues JLabel (" My JLabel ") hinzugefügt; p.add (myJLabel); 'und es wurde angezeigt. – tnas

+0

Diese Klasse funktioniert gut, das Label wird nicht angezeigt, weil Sie nichts hineingelegt haben, Sie haben wahrscheinlich ein Problem mit der Player-Klasse, wenn es etwas zeigen sollte. –

+2

Sie müssen ein [mcve] erstellen und veröffentlichen - bitte lesen Sie den Link. –

Antwort

0

nichts zeigt sich, dass ich in meiner anderen Klasse gezeichnet habe.

Sie fügen Komponenten einem Panel hinzu. Ein JPanel verwendet standardmäßig ein FlowLayout. Das FlowLayout berücksichtigt die bevorzugte Größe der Komponente, die Sie dem Panel hinzufügen. Wenn die Komponenten nicht bemalen, ist die bevorzugte Größe der Komponente wahrscheinlich (0, 0).

nichts zeigt, dass ich in meiner anderen Klasse gezeichnet haben

Wenn Sie benutzerdefinierte Malerei tun, dann müssen Sie sicherstellen, dass Sie die getPreferredSize() Methode der Klasse überschreiben, um die Größe, so dass die zurück Layout-Manager kann seine Arbeit machen.

Lesen Sie den Abschnitt aus den Swing-Tutorial auf Custom Painting für weitere Informationen und Arbeitsbeispiele Ihnen den Einstieg.

Verwandte Themen