当我创建一个面板并将setLayout设置为BoxLayout时,它将起作用:

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


但是,当该类分别命名为Panextends JPanel时,我尝试在该类的构造函数中执行以下操作:

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


我得到错误


平移无法解析为变量


这里有什么问题?

最佳答案

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

关于java - 扩展JPanel并设置BoxLayout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41130489/

10-09 06:07