如何使用Swing获取固定的侧边栏JPanel。现在我正在尝试这个:
public SidebarPanel() {
this.setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
this.setPreferredSize(new Dimension(200, this.getPreferredSize().height));
...
但是当我调整窗口大小时,侧边栏的宽度也会发生变化。如何解决这个问题?
答案 0 :(得分:4)
Swing无法保证首选尺寸得到尊重。这取决于容器的布局管理器。
如果容器使用BorderLayout,您可以使用以下方法添加SidebarPanel:
container.add(sidebarPanel, BorderLayout.EAST)
这将尊重首选宽度。
答案 1 :(得分:1)
你必须依靠好老GridBagLayout。一个好的帮助类是GBC,它可以让你轻松定位元素。
答案 2 :(得分:0)
您可以使用BorderLayout,添加到JPanel
mainContent.setLayout(new BorderLayout());
mainContent.add(pnlHeader, BorderLayout.WEST);
mainContent.add(pnlResultList, BorderLayout.EAST);