如何设置 JAVA 中按钮的大小?
how to set the size for the button in JAVA?
我无法在下面的代码中设置按钮的大小。如果我将 b.setSize 设置为 (2000,2000) 什么都不会改变。您对我做错或忽略的事情有什么建议吗?
最好的问候
克里斯
protected Control createDialogArea(Composite parent) {
Composite container = (Composite) super.createDialogArea(parent);
GridLayout containerLayout = new GridLayout();
GridData containerLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
container.setLayout(containerLayout);
container.setLayoutData(containerLayoutData);
Tag t = new Tag("Action", 'm');
Button b = new Button(container, SWT.PUSH);
GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
b.setLayoutData(new GridData(SWT.BEGINNING ,SWT.CENTER, false,false));
b.setText("Movie");
Button button2 = new Button(container, SWT.PUSH); button2.setLayoutData(newGridData(SWT.BEGINNING,SWT.CENTER,false,false));
button2.setText("Performer");
return container;
}
您不能将布局与 setSize
混合使用 - 布局将使用它计算出的尺寸覆盖尺寸。
而是为按钮布局指定宽度提示:
Button b = new Button(container, SWT.PUSH);
GridData data = new GridData(SWT.BEGINNING, SWT.CENTER, false, false);
data.widthHint = 100; // Width in pixels
b.setLayoutData(data);
b.setText("Movie");
由于您的代码在 JFace Dialog
中,您还可以使用 Dialog
的 convertHorizontalDLUsToPixels
或 convertWidthInCharsToPixels
方法来计算宽度。例如:
data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
您可以以类似的方式使用 heightHint
设置高度。
我无法在下面的代码中设置按钮的大小。如果我将 b.setSize 设置为 (2000,2000) 什么都不会改变。您对我做错或忽略的事情有什么建议吗? 最好的问候
克里斯
protected Control createDialogArea(Composite parent) {
Composite container = (Composite) super.createDialogArea(parent);
GridLayout containerLayout = new GridLayout();
GridData containerLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
container.setLayout(containerLayout);
container.setLayoutData(containerLayoutData);
Tag t = new Tag("Action", 'm');
Button b = new Button(container, SWT.PUSH);
GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
b.setLayoutData(new GridData(SWT.BEGINNING ,SWT.CENTER, false,false));
b.setText("Movie");
Button button2 = new Button(container, SWT.PUSH); button2.setLayoutData(newGridData(SWT.BEGINNING,SWT.CENTER,false,false));
button2.setText("Performer");
return container;
}
您不能将布局与 setSize
混合使用 - 布局将使用它计算出的尺寸覆盖尺寸。
而是为按钮布局指定宽度提示:
Button b = new Button(container, SWT.PUSH);
GridData data = new GridData(SWT.BEGINNING, SWT.CENTER, false, false);
data.widthHint = 100; // Width in pixels
b.setLayoutData(data);
b.setText("Movie");
由于您的代码在 JFace Dialog
中,您还可以使用 Dialog
的 convertHorizontalDLUsToPixels
或 convertWidthInCharsToPixels
方法来计算宽度。例如:
data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
您可以以类似的方式使用 heightHint
设置高度。