与编写处理调整大小功能的监听器相比,使用现有布局管理器有什么好处?例如,我需要在网格中排列按钮并使网格居中:
int h = component.getHeight() / 11;
int w = component.getWidth() / 9;
int offsetX = w;
int offsetY = h;
int x = (2 * column) * w - offsetX;
int y = (2 * row) * h - offsetY;
setBounds(x, y, w, h);
我没有使用布局管理器摸索,而是编写了一小段代码,只要调整 JPanel 的大小时就会为按钮激活。如果我要使用布局管理器,编写代码来安排所有内容会更麻烦,如果我要说向 JPanel 添加一个组件,事情会变得更加复杂,而不是简单地添加一些添加或减去.
鉴于此,在这种情况下使用布局管理器是否有任何好处,或者一些自定义行是否更易于使用和维护?
最佳答案
您的代码基本上是在模仿 GridLayout
.
setLayout(new GridLayout(11, 9));
// add all the components
...
// Profit
居中:
JPanel outerPanel = new JPanel(new BorderLayout());
JPanel gridPanel = new JPanel(new GridLayout());
outerPanel.add(gridPanel, BorderLayout.CENTER);
关于Java 布局管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4189289/