【发布时间】:2020-12-24 05:39:38
【问题描述】:
我正在编写一个程序,其中 JButton 以垂直方式动态添加到 JPanel。 (按钮存储在数组列表中)我通过将 JPanel 设置为 gridbaglayout 尝试了以下代码。
for(int i = 0; i<listOfButtons.size();i++) {
c.gridx=0;
c.gridy=i;
leftButtonPanel.add(listOfButtons.get(i));
}
结果如下
添加按钮后
我也尝试将 JPanel 设置为网格布局
leftButtonPanel.setLayout(new GridLayout(listOfButtons.size(),1));
for(int i = 0; i<listOfButtons.size();i++) {
leftButtonPanel.add(listOfButtons.get(i));
}
“查看全部”和“添加”按钮都在同一个 listOfButtons 数组列表中。将按钮添加到面板中的唯一方法是通过该 forloop。由于某些原因,按钮仍然是水平开始的。
【问题讨论】:
-
使用GridBagLayout时,必须在panel.add方法中指定GridBagConstraints实例作为第二个参数。
-
天哪,这就是我所缺少的,非常感谢
-
您可以只使用沿 Y 轴的框布局来实现此目的。将不需要约束,然后导致网格包看起来有点矫枉过正
标签: java swing layout-manager grid-layout gridbaglayout