我的JPanel上的东西没有显示出来。 JAVA

时间:2016-08-22 16:03:20

标签: java swing jframe jpanel

我正在制作一款小游戏供我欣赏,当我将我的JPanel添加到JFrame时,没有任何东西出现在我的其他课程中。

这是我的主要课程

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);
    }
}

我很难搞清楚,所以有人可以帮助我......谢谢!

1 个答案:

答案 0 :(得分:0)

  

没有任何东西出现在我的另一堂课中。

您要向面板添加组件。 JPanel默认使用FlowLayout。 FlowLayout尊重您添加到面板的组件的首选大小。如果组件没有涂漆,则组件的首选大小可能是(0,0)。

  

没有任何东西出现在我的其他课程中

如果您正在进行自定义绘制,那么您需要确保覆盖类的getPreferredSize()方法以返回大小,以便布局管理器可以完成其工作。

阅读Custom Painting上Swing教程中的部分,了解更多信息和工作示例,以帮助您入门。