JPanel子类不会出现在JFrame中

时间:2015-12-16 21:58:28

标签: jframe jpanel subclass

我有这个类的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的子类,任何帮助都会受到赞赏

0 个答案:

没有答案