我有这个类的PokerPanel,它扩展了JPanel,无论我放在JPanel子类中,当它被设置为内容窗格时都不会出现在JFrame中。以下是代码
public class PokerPanel extends JPanel {
private int x = 1000;
private int y = 1000;
public PokerPanel(){
this.setPreferredSize(new Dimension(x, y));
this.setBackground(Color.BLACK);
}
然后在我的主要班级
public static void main(String[] args) {
PokerPanel pp = new PokerPanel();
pp.setOpaque(true);
JFrame frame = new JFrame();
frame.setSize(pp.getX(), pp.getY());
frame.setContentPane(pp);
frame.setVisible(true);
}
这并没有显示出预期的黑色背景(或者其他任何我放在那里的JLabels等),但如果我按照下面的说明进行操作,那么它确实有效。
public static void main(String[] args) {
PokerPanel pp = new PokerPanel(rg);
pp.setOpaque(true);
JPanel panel = new JPanel();
panel.setBackground(Color.BLACK);
JFrame frame = new JFrame();
frame.setSize(pp.getX(), pp.getY());
frame.setContentPane(panel);
frame.setVisible(true);
}
我似乎无法弄清楚为什么它不会显示JPanel,因为它是JPanel的子类,任何帮助都会受到赞赏