SWT Style Bits - Bitwise Or and Bitwise And

1 minute read

Ever wondered how SWT Style bits work? It is actually very simple. The style bits are a multitud of 2

SWT.NONE = 0, // 00000000 binary SWT.MULTI = 2, // 00000010 binary SWT.SINGLE = 4; // 00000100 binary SWT.READ_ONLY = 8; // 00001000 binary …

Via the bitwise OR operator you combine the bits
SWT.NONE SWT.MULTI SWT.READ_ONLY results in 00001010

To get later the information if a bit was set use the bitwise AND operation &.

if (SWT.WRAP==(result & SWT.WRAP)){ System.out.println(“SWT.WRAP available”); }

Here is a small code snippets to run a little test.


package de.vogella.swt.widgets;

import org.eclipse.swt.SWT; 
import org.eclipse.swt.widgets.Display; 
import org.eclipse.swt.widgets.Shell; 
import org.eclipse.swt.widgets.Text;

public class SWTbitwiseOr { 
	public static void main(String\[\] args) { 
		Display display = new Display(); 
		Shell shell = new Shell(display); 
		new Text(shell, SWT.NONE); 
		System.out.println(SWT.NONE); 
		System.out.println(SWT.MULTI); 
		System.out.println(SWT.SINGLE); 
		System.out.println(SWT.READ\_ONLY); 
		System.out.println(SWT.WRAP); 
		System.out.println(SWT.SEARCH); 
		System.out.println(SWT.ICON\_CANCEL); 
		System.out.println(SWT.ICON\_SEARCH); 
		System.out.println(SWT.LEFT); 
		System.out.println(SWT.RIGHT); 
		System.out.println(SWT.PASSWORD); 
		System.out.println(SWT.CENTER); // Lets see what we have 
		int result = SWT.MULTI | SWT.WRAP; System.out.println(result); 
		if (SWT.MULTI==(result & SWT.MULTI)){ 
			System.out.println("SWT.MULI available"); 
		} 
		if (SWT.WRAP==(result & SWT.WRAP)){ 
			System.out.println("SWT.WRAP available"); 
		} 
		if (SWT.SINGLE==(result & SWT.SINGLE)){ 
			System.out.println("SWT.SINGLE available"); 
		} 
		else { 
			System.out.println("SWT.SINGLE available"); 
		} 
	} 
}

For more information please see Bitwise Operators.

If you are located in Germany you may be interested in my Eclipse RCP training which I deliver together with Ralf Ebert.

Updated: