扩展JPanel并设置BoxLayout

时间:2016-12-13 21:02:33

标签: java swing

当我创建一个面板并将setLayout设置为BoxLayout时,这可以工作:

    JPanel pan = new JPanel();
    pan.setLayout(new BoxLayout(pan, BoxLayout.PAGE_AXIS));

但是,当类名为Panextends JPanel时,我尝试在类的构造函数中执行此操作:

    setLayout(new BoxLayout(Pan, BoxLayout.PAGE_AXIS));

我收到错误

  

无法将Pan解析为变量

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

Pan会取代您对JPanel的使用:

Pan pan = new Pan();
pan.setLayout(new BoxLayout(pan, BoxLayout.PAGE_AXIS));

或者:

JPanel pan = new Pan();
pan.setLayout(new BoxLayout(pan, BoxLayout.PAGE_AXIS));

编辑:您还可以在Pan类中设置布局,例如:

public class Pan extends JPanel {
    public Pan() {
        setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
    }
}
相关问题