Get Preferred size : Widget « SWT « Java Tutorial






(From SWT API) The preferred size of a control is the size that it would best be displayed at. The width hint and height hint arguments allow the caller to ask a control questions such as "Given a particular width, how high does the control need to be to show all of the contents?" To indicate that the caller does not wish to constrain a particular dimension, the constant SWT.DEFAULT is passed for the hint.

Get Preferred size
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class GetPreferredSize {

  public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);

    shell.setLayout(new GridLayout());

    Button button = new Button(shell, SWT.PUSH | SWT.LEFT);
    button.setText("Button");

    System.out.println("toControl: " + button.toControl(100, 200));

    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
  }
}








17.2.Widget
17.2.1.Set Control SizeSet Control Size
17.2.2.The Widget Class
17.2.3.Get Widget StyleGet Widget Style
17.2.4.Widget can be disposed: addDisposeListener(DisposeListener listener)Widget can be disposed: addDisposeListener(DisposeListener listener)
17.2.5.Control Size and locationControl Size and location
17.2.6.Set BoundsSet Bounds
17.2.7.Set Location and SizeSet Location and Size
17.2.8.Control: set a background image (a dynamic gradient)Control: set a background image (a dynamic gradient)
17.2.9.Inherit a background color or imageInherit a background color or image
17.2.10.Setting Widget boundsSetting Widget bounds
17.2.11.Compute Widget SizeCompute Widget Size
17.2.12.Get Preferred sizeGet Preferred size
17.2.13.Relative position to ControlRelative position to Control
17.2.14.Relative position to DisplayRelative position to Display
17.2.15.Add ControlListener to controlAdd ControlListener to control