【发布时间】:2014-03-13 19:26:27
【问题描述】:
我想用 SWT.WRAP 创建一个复选框按钮。当我调整窗口大小时,文本应该相应地换行。
我创建了一个带有 2 个复选框的 sn-p:
1) 文本不换行
2) 文本会自动换行,但在调整窗口大小时不会更新
public class GridLayoutSample {
Display display = new Display();
Shell shell = new Shell(display);
private static final String lorem = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ips";
public GridLayoutSample() {
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 1;
gridLayout.makeColumnsEqualWidth = true;
shell.setLayout(gridLayout);
Button button = new Button(shell, SWT.CHECK | SWT.WRAP);
button.setText(lorem);
button.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
RowLayout layout = new RowLayout();
Composite row = new Composite(shell, SWT.NONE);
row.setLayout(layout);
createButton(row, lorem, SWT.CHECK | SWT.WRAP);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public void createButton(Composite parent, String text, int style) {
RowData layoutData = new RowData();
layoutData.height = 175;
layoutData.width = 175;
Button testButton = new Button(parent, style);
testButton.setText(text);
testButton.setLayoutData(layoutData);
}
public static void main(String[] args) {
new GridLayoutSample();
}
}
你能帮帮我吗?
【问题讨论】:
标签: java button layout checkbox swt