我正在制作一款小游戏供我欣赏,当我将我的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);
}
}
我很难搞清楚,所以有人可以帮助我......谢谢!
答案 0 :(得分:0)
没有任何东西出现在我的另一堂课中。
您要向面板添加组件。 JPanel默认使用FlowLayout。 FlowLayout尊重您添加到面板的组件的首选大小。如果组件没有涂漆,则组件的首选大小可能是(0,0)。
没有任何东西出现在我的其他课程中
如果您正在进行自定义绘制,那么您需要确保覆盖类的getPreferredSize()
方法以返回大小,以便布局管理器可以完成其工作。
阅读Custom Painting上Swing教程中的部分,了解更多信息和工作示例,以帮助您入门。