只有一个"框架"显示在左下角,但我想在显示屏中显示(N * N)个按钮。我想用SWT创建一个表。该表将包含一个带按钮的列。
private void createButtonPanel() {
GridData gridData = new GridData();
gridData.heightHint = N * imageSize;
gridData.widthHint = N * imageSize;
Composite buttonPanel = new Composite(shell, SWT.NONE);
buttonPanel.setBackground(new Color(display, 140, 140, 100));
buttonPanel.setLayoutData(gridData);
for (int i = 0; i < N; ++i) {
for (int j = 0; i < N; ++i) {
button[i][j] = new Button(buttonPanel, SWT.PUSH);
button[i][j].setSize(imageSize, imageSize);
button[i][j].setImage(null);
}
}
}
我有什么要改变的吗?
答案 0 :(得分:0)
您想要使用的是
buttonPanel.setLayout(new GridLayout(N * imageSize, true));
这将创建Layout
N * imageSize
等宽列。您不必明确定义行数。
无需设置GridData#heightHint
和GridData#widthHint
。