Set default Button for Shell : Shell « SWT « Java Tutorial






The default button is the button that gains the focus and is pressed automatically when a SWT.TRAVERSE_RETURN type traversal happens.

public Button getDefaultButton()
    public void setDefaultButton(Button defaultButton)
Set default Button for Shell
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class ButtonDefaultShell {

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

    shell.setLayout(new RowLayout());

    final String[] ratings = new String[] { "A!", "B", "C" };
    final Button[] radios = new Button[ratings.length];
    for (int i = 0; i < ratings.length; i++) {
      radios[i] = new Button(shell, SWT.RADIO);
      radios[i].setText(ratings[i]);
    }

    Button cancelButton = new Button(shell, SWT.PUSH);
    cancelButton.setText("Canel");

    Button rateButton = new Button(shell, SWT.PUSH);
    rateButton.setText("OK");
    rateButton.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        for (int i = 0; i < radios.length; i++) {
          if (radios[i].getSelection()) {
            System.out.println(ratings[i]);
          }
        }
      }

      public void widgetDefaultSelected(SelectionEvent e) {
        for (int i = 0; i < radios.length; i++) {
          if (radios[i].getSelection()) {
            System.out.println(ratings[i]);
          }
        }
      }
    });

    shell.setDefaultButton(rateButton);
 

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








17.4.Shell
17.4.1.Understanding the Shell Object
17.4.2.Creating Shells
17.4.3.Open a shell minimized (iconified)
17.4.4.Open a shell maximized (full screen)
17.4.5.Center a shell on the primary monitorCenter a shell on the primary monitor
17.4.6.Set icons with different resolutions
17.4.7.Create a non-rectangular windowCreate a non-rectangular window
17.4.8.Create a non-rectangular shell to simulate transparencyCreate a non-rectangular shell to simulate transparency
17.4.9.Create non-rectangular shell from an image with transparencyCreate non-rectangular shell from an image with transparency
17.4.10.Allow escape to close a shellAllow escape to close a shell
17.4.11.Prevent a shell from closing (prompt the user)Prevent a shell from closing (prompt the user)
17.4.12.Create GC from Shell and paint on windowCreate GC from Shell and paint on window
17.4.13.Getting Controls on a shellGetting Controls on a shell
17.4.14.Set default Button for ShellSet default Button for Shell
17.4.15.Get Default ButtonGet Default Button
17.4.16.Shell with SWT.SHELL_TRIM|SWT.TOOL styleShell with SWT.SHELL_TRIM|SWT.TOOL style
17.4.17.Ring ShellRing Shell
17.4.18.Set left upper corner imageSet left upper corner image
17.4.19.Shell without Title bar
17.4.20.ON_TOP: This style bit causes the shell to always float on the top of the desktop.
17.4.21.SHELL_TRIM = (CLOSE | TITLE | MIN | MAX | RESIZE): top-level shells.SHELL_TRIM = (CLOSE | TITLE | MIN | MAX | RESIZE): top-level shells.
17.4.22.DIALOG_TRIM = (CLOSE | TITLE | BORDER): dialog shells.
17.4.23.The modal state of shells: APPLICATION_MODAL, MODELESS, PRIMARY_MODAL, SYSTEM_MODAL
17.4.24.TOOL: the shell is a tool window(floating toolbars)
17.4.25.Shell States
17.4.26.Setting the Title