Java 布局管理器

标签 java resize layout-manager

与编写处理调整大小功能的监听器相比,使用现有布局管理器有什么好处?例如,我需要在网格中排列按钮并使网格居中:

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/

相关文章:

java - 迭代 arraylist 的 HashMap

java - 我想向此计算器添加图形

c++ - 如何在 SetWindowPos() 之后同步窗口的系统菜单?

java - JDialog布局问题

java - 为什么 setLocation() 不移动我的标签?

java - 将 JPanel 添加到 JScrollPane

java - JAX-RS过滤器和拦截器的顺序

java - Jedis 和 Lettuce 异步能力

algorithm - 缩放和减少颜色以减小扫描文件的大小

php - 如何在 Magento 中的任何图像上使用自适应调整大小?