I used the Linux command javap to disassemble the SWT.class file. It is attached to satisfy your curiosity and for your information. John -- John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. http://www.abilitiessoft.com Madison, Wisconsin USA Developing software for people with disabilities
public class org.eclipse.swt.SWT extends java.lang.Object{ public static final int None; public static final int KeyDown; public static final int KeyUp; public static final int MouseDown; public static final int MouseUp; public static final int MouseMove; public static final int MouseEnter; public static final int MouseExit; public static final int MouseDoubleClick; public static final int Paint; public static final int Move; public static final int Resize; public static final int Dispose; public static final int Selection; public static final int DefaultSelection; public static final int FocusIn; public static final int FocusOut; public static final int Expand; public static final int Collapse; public static final int Iconify; public static final int Deiconify; public static final int Close; public static final int Show; public static final int Hide; public static final int Modify; public static final int Verify; public static final int Activate; public static final int Deactivate; public static final int Help; public static final int DragDetect; public static final int Arm; public static final int Traverse; public static final int MouseHover; public static final int HardKeyDown; public static final int HardKeyUp; public static final int MenuDetect; public static final int SetData; public static final int MouseVerticalWheel; public static final int MouseHorizontalWheel; public static final int MouseWheel; public static final int Settings; public static final int EraseItem; public static final int MeasureItem; public static final int PaintItem; public static final int ImeComposition; public static final int OrientationChange; public static final int Skin; public static final int OpenDocument; public static final int COMPOSITION_CHANGED; public static final int COMPOSITION_OFFSET; public static final int COMPOSITION_SELECTION; public static final int DRAG; public static final int SELECTED; public static final int FOCUSED; public static final int BACKGROUND; public static final int FOREGROUND; public static final int HOT; public static final int TRAVERSE_NONE; public static final int TRAVERSE_ESCAPE; public static final int TRAVERSE_RETURN; public static final int TRAVERSE_TAB_PREVIOUS; public static final int TRAVERSE_TAB_NEXT; public static final int TRAVERSE_ARROW_PREVIOUS; public static final int TRAVERSE_ARROW_NEXT; public static final int TRAVERSE_MNEMONIC; public static final int TRAVERSE_PAGE_PREVIOUS; public static final int TRAVERSE_PAGE_NEXT; public static final int CHANGED; public static final int DEFER; public static final int NONE; public static final int NULL; public static final int DEFAULT; public static final int OFF; public static final int ON; public static final int LOW; public static final int HIGH; public static final int BAR; public static final int DROP_DOWN; public static final int POP_UP; public static final int SEPARATOR; public static final int TOGGLE; public static final int ARROW; public static final int PUSH; public static final int RADIO; public static final int CHECK; public static final int CASCADE; public static final int MULTI; public static final int SINGLE; public static final int READ_ONLY; public static final int WRAP; public static final int SEARCH; public static final int SIMPLE; public static final int PASSWORD; public static final int SHADOW_IN; public static final int SHADOW_OUT; public static final int SHADOW_ETCHED_IN; public static final int SHADOW_ETCHED_OUT; public static final int SHADOW_NONE; public static final int INDETERMINATE; public static final int TOOL; public static final int NO_TRIM; public static final int RESIZE; public static final int TITLE; public static final int CLOSE; public static final int MENU; public static final int MIN; public static final int MAX; public static final int H_SCROLL; public static final int V_SCROLL; public static final int NO_SCROLL; public static final int BORDER; public static final int CLIP_CHILDREN; public static final int CLIP_SIBLINGS; public static final int ON_TOP; public static final int SHEET; public static final int SHELL_TRIM; public static final int DIALOG_TRIM; public static final int MODELESS; public static final int PRIMARY_MODAL; public static final int APPLICATION_MODAL; public static final int SYSTEM_MODAL; public static final int HIDE_SELECTION; public static final int FULL_SELECTION; public static final int FLAT; public static final int SMOOTH; public static final int NO_BACKGROUND; public static final int NO_FOCUS; public static final int NO_REDRAW_RESIZE; public static final int NO_MERGE_PAINTS; public static final int NO_RADIO_GROUP; public static final int LEFT_TO_RIGHT; public static final int RIGHT_TO_LEFT; public static final int MIRRORED; public static final int EMBEDDED; public static final int VIRTUAL; public static final int DOUBLE_BUFFERED; public static final int TRANSPARENT; public static final int UP; public static final int UNDERLINE_SINGLE; public static final int UNDERLINE_DOUBLE; public static final int UNDERLINE_ERROR; public static final int UNDERLINE_SQUIGGLE; public static final int UNDERLINE_LINK; public static final int BORDER_SOLID; public static final int BORDER_DASH; public static final int BORDER_DOT; public static final int TOP; public static final int DOWN; public static final int BOTTOM; public static final int LEAD; public static final int LEFT; public static final int TRAIL; public static final int RIGHT; public static final int CENTER; public static final int HORIZONTAL; public static final int VERTICAL; public static final int DATE; public static final int TIME; public static final int CALENDAR; public static final int SHORT; public static final int MEDIUM; public static final int LONG; public static final int MOZILLA; public static final int BALLOON; public static final int BEGINNING; public static final int FILL; public static final int DBCS; public static final int ALPHA; public static final int NATIVE; public static final int PHONETIC; public static final int ROMAN; public static final char BS; public static final char CR; public static final char DEL; public static final char ESC; public static final char LF; public static final char TAB; public static final int ALT; public static final int SHIFT; public static final int CTRL; public static final int CONTROL; public static final int COMMAND; public static final int MODIFIER_MASK; public static final int BUTTON1; public static final int BUTTON2; public static final int BUTTON3; public static final int BUTTON4; public static final int BUTTON5; public static final int BUTTON_MASK; public static final int MOD1; public static final int MOD2; public static final int MOD3; public static final int MOD4; public static final int SCROLL_LINE; public static final int SCROLL_PAGE; public static final int KEYCODE_BIT; public static final int KEY_MASK; public static final int ARROW_UP; public static final int ARROW_DOWN; public static final int ARROW_LEFT; public static final int ARROW_RIGHT; public static final int PAGE_UP; public static final int PAGE_DOWN; public static final int HOME; public static final int END; public static final int INSERT; public static final int F1; public static final int F2; public static final int F3; public static final int F4; public static final int F5; public static final int F6; public static final int F7; public static final int F8; public static final int F9; public static final int F10; public static final int F11; public static final int F12; public static final int F13; public static final int F14; public static final int F15; public static final int F16; public static final int F17; public static final int F18; public static final int F19; public static final int F20; public static final int KEYPAD; public static final int KEYPAD_MULTIPLY; public static final int KEYPAD_ADD; public static final int KEYPAD_SUBTRACT; public static final int KEYPAD_DECIMAL; public static final int KEYPAD_DIVIDE; public static final int KEYPAD_0; public static final int KEYPAD_1; public static final int KEYPAD_2; public static final int KEYPAD_3; public static final int KEYPAD_4; public static final int KEYPAD_5; public static final int KEYPAD_6; public static final int KEYPAD_7; public static final int KEYPAD_8; public static final int KEYPAD_9; public static final int KEYPAD_EQUAL; public static final int KEYPAD_CR; public static final int HELP; public static final int CAPS_LOCK; public static final int NUM_LOCK; public static final int SCROLL_LOCK; public static final int PAUSE; public static final int BREAK; public static final int PRINT_SCREEN; public static final int ICON_ERROR; public static final int ICON_INFORMATION; public static final int ICON_QUESTION; public static final int ICON_WARNING; public static final int ICON_WORKING; public static final int ICON_SEARCH; public static final int ICON_CANCEL; public static final int OK; public static final int YES; public static final int NO; public static final int CANCEL; public static final int ABORT; public static final int RETRY; public static final int IGNORE; public static final int OPEN; public static final int SAVE; public static final int INHERIT_NONE; public static final int INHERIT_DEFAULT; public static final int INHERIT_FORCE; public static final int COLOR_WHITE; public static final int COLOR_BLACK; public static final int COLOR_RED; public static final int COLOR_DARK_RED; public static final int COLOR_GREEN; public static final int COLOR_DARK_GREEN; public static final int COLOR_YELLOW; public static final int COLOR_DARK_YELLOW; public static final int COLOR_BLUE; public static final int COLOR_DARK_BLUE; public static final int COLOR_MAGENTA; public static final int COLOR_DARK_MAGENTA; public static final int COLOR_CYAN; public static final int COLOR_DARK_CYAN; public static final int COLOR_GRAY; public static final int COLOR_DARK_GRAY; public static final int COLOR_WIDGET_DARK_SHADOW; public static final int COLOR_WIDGET_NORMAL_SHADOW; public static final int COLOR_WIDGET_LIGHT_SHADOW; public static final int COLOR_WIDGET_HIGHLIGHT_SHADOW; public static final int COLOR_WIDGET_FOREGROUND; public static final int COLOR_WIDGET_BACKGROUND; public static final int COLOR_WIDGET_BORDER; public static final int COLOR_LIST_FOREGROUND; public static final int COLOR_LIST_BACKGROUND; public static final int COLOR_LIST_SELECTION; public static final int COLOR_LIST_SELECTION_TEXT; public static final int COLOR_INFO_FOREGROUND; public static final int COLOR_INFO_BACKGROUND; public static final int COLOR_TITLE_FOREGROUND; public static final int COLOR_TITLE_BACKGROUND; public static final int COLOR_TITLE_BACKGROUND_GRADIENT; public static final int COLOR_TITLE_INACTIVE_FOREGROUND; public static final int COLOR_TITLE_INACTIVE_BACKGROUND; public static final int COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT; public static final int DRAW_TRANSPARENT; public static final int DRAW_DELIMITER; public static final int DRAW_TAB; public static final int DRAW_MNEMONIC; public static final int DELIMITER_SELECTION; public static final int LAST_LINE_SELECTION; public static final int ERROR_UNSPECIFIED; public static final int ERROR_NO_HANDLES; public static final int ERROR_NO_MORE_CALLBACKS; public static final int ERROR_NULL_ARGUMENT; public static final int ERROR_INVALID_ARGUMENT; public static final int ERROR_INVALID_RANGE; public static final int ERROR_CANNOT_BE_ZERO; public static final int ERROR_CANNOT_GET_ITEM; public static final int ERROR_CANNOT_GET_SELECTION; public static final int ERROR_CANNOT_INVERT_MATRIX; public static final int ERROR_CANNOT_GET_ITEM_HEIGHT; public static final int ERROR_CANNOT_GET_TEXT; public static final int ERROR_CANNOT_SET_TEXT; public static final int ERROR_ITEM_NOT_ADDED; public static final int ERROR_ITEM_NOT_REMOVED; public static final int ERROR_NO_GRAPHICS_LIBRARY; public static final int ERROR_NOT_IMPLEMENTED; public static final int ERROR_MENU_NOT_DROP_DOWN; public static final int ERROR_THREAD_INVALID_ACCESS; public static final int ERROR_WIDGET_DISPOSED; public static final int ERROR_MENUITEM_NOT_CASCADE; public static final int ERROR_CANNOT_SET_SELECTION; public static final int ERROR_CANNOT_SET_MENU; public static final int ERROR_CANNOT_SET_ENABLED; public static final int ERROR_CANNOT_GET_ENABLED; public static final int ERROR_INVALID_PARENT; public static final int ERROR_MENU_NOT_BAR; public static final int ERROR_CANNOT_GET_COUNT; public static final int ERROR_MENU_NOT_POP_UP; public static final int ERROR_UNSUPPORTED_DEPTH; public static final int ERROR_IO; public static final int ERROR_INVALID_IMAGE; public static final int ERROR_UNSUPPORTED_FORMAT; public static final int ERROR_INVALID_SUBCLASS; public static final int ERROR_GRAPHIC_DISPOSED; public static final int ERROR_DEVICE_DISPOSED; public static final int ERROR_FAILED_EXEC; public static final int ERROR_FAILED_LOAD_LIBRARY; public static final int ERROR_INVALID_FONT; public static final int ERROR_FUNCTION_DISPOSED; public static final int ERROR_FAILED_EVALUATE; public static final int ERROR_INVALID_RETURN_VALUE; public static final int BITMAP; public static final int ICON; public static final int IMAGE_COPY; public static final int IMAGE_DISABLE; public static final int IMAGE_GRAY; public static final int ERROR; public static final int PAUSED; public static final int NORMAL; public static final int BOLD; public static final int ITALIC; public static final int CURSOR_ARROW; public static final int CURSOR_WAIT; public static final int CURSOR_CROSS; public static final int CURSOR_APPSTARTING; public static final int CURSOR_HELP; public static final int CURSOR_SIZEALL; public static final int CURSOR_SIZENESW; public static final int CURSOR_SIZENS; public static final int CURSOR_SIZENWSE; public static final int CURSOR_SIZEWE; public static final int CURSOR_SIZEN; public static final int CURSOR_SIZES; public static final int CURSOR_SIZEE; public static final int CURSOR_SIZEW; public static final int CURSOR_SIZENE; public static final int CURSOR_SIZESE; public static final int CURSOR_SIZESW; public static final int CURSOR_SIZENW; public static final int CURSOR_UPARROW; public static final int CURSOR_IBEAM; public static final int CURSOR_NO; public static final int CURSOR_HAND; public static final int CAP_FLAT; public static final int CAP_ROUND; public static final int CAP_SQUARE; public static final int JOIN_MITER; public static final int JOIN_ROUND; public static final int JOIN_BEVEL; public static final int LINE_SOLID; public static final int LINE_DASH; public static final int LINE_DOT; public static final int LINE_DASHDOT; public static final int LINE_DASHDOTDOT; public static final int LINE_CUSTOM; public static final int PATH_MOVE_TO; public static final int PATH_LINE_TO; public static final int PATH_QUAD_TO; public static final int PATH_CUBIC_TO; public static final int PATH_CLOSE; public static final int FILL_EVEN_ODD; public static final int FILL_WINDING; public static final int IMAGE_UNDEFINED; public static final int IMAGE_BMP; public static final int IMAGE_BMP_RLE; public static final int IMAGE_GIF; public static final int IMAGE_ICO; public static final int IMAGE_JPEG; public static final int IMAGE_PNG; public static final int IMAGE_TIFF; public static final int IMAGE_OS2_BMP; public static final int DM_UNSPECIFIED; public static final int DM_FILL_NONE; public static final int DM_FILL_BACKGROUND; public static final int DM_FILL_PREVIOUS; public static final int TRANSPARENCY_NONE; public static final int TRANSPARENCY_ALPHA; public static final int TRANSPARENCY_MASK; public static final int TRANSPARENCY_PIXEL; public static final int MOVEMENT_CHAR; public static final int MOVEMENT_CLUSTER; public static final int MOVEMENT_WORD; public static final int MOVEMENT_WORD_END; public static final int MOVEMENT_WORD_START; public static final int ALL; public static final java.lang.String SKIN_CLASS; public static final java.lang.String SKIN_ID; static {}; Code: 0: ldc_w #580; //int 45613056 3: putstatic #581; //Field BUTTON_MASK:I 6: ldc_w #583; //int 4653056 9: putstatic #584; //Field MODIFIER_MASK:I 12: invokestatic #586; //Method getPlatform:()Ljava/lang/String; 15: astore_0 16: ldc_w #590; //String carbon 19: aload_0 20: invokevirtual #592; //Method java/lang/String.equals:(Ljava/lang/Object;)Z 23: ifne 36 26: ldc_w #598; //String cocoa 29: aload_0 30: invokevirtual #592; //Method java/lang/String.equals:(Ljava/lang/Object;)Z 33: ifeq 59 36: ldc #152; //int 4194304 38: putstatic #600; //Field MOD1:I 41: ldc #191; //int 131072 43: putstatic #602; //Field MOD2:I 46: ldc #189; //int 65536 48: putstatic #604; //Field MOD3:I 51: ldc #198; //int 262144 53: putstatic #606; //Field MOD4:I 56: goto 78 59: ldc #198; //int 262144 61: putstatic #600; //Field MOD1:I 64: ldc #191; //int 131072 66: putstatic #602; //Field MOD2:I 69: ldc #189; //int 65536 71: putstatic #604; //Field MOD3:I 74: iconst_0 75: putstatic #606; //Field MOD4:I 78: return public org.eclipse.swt.SWT(); Code: 0: aload_0 1: invokespecial #609; //Method java/lang/Object."<init>":()V 4: return static java.lang.String findErrorText(int); Code: 0: iload_0 1: tableswitch{ //1 to 51 1: 220; 2: 224; 3: 228; 4: 232; 5: 236; 6: 244; 7: 248; 8: 252; 9: 256; 10: 376; 11: 260; 12: 264; 13: 268; 14: 272; 15: 276; 16: 380; 17: 388; 18: 388; 19: 388; 20: 280; 21: 284; 22: 288; 23: 388; 24: 292; 25: 388; 26: 388; 27: 296; 28: 300; 29: 304; 30: 308; 31: 312; 32: 316; 33: 320; 34: 388; 35: 388; 36: 324; 37: 328; 38: 332; 39: 336; 40: 340; 41: 388; 42: 344; 43: 348; 44: 352; 45: 356; 46: 364; 47: 372; 48: 384; 49: 360; 50: 368; 51: 240; default: 388 } 220: ldc_w #613; //String Unspecified error 223: areturn 224: ldc_w #615; //String No more handles 227: areturn 228: ldc_w #617; //String No more callbacks 231: areturn 232: ldc_w #619; //String Argument cannot be null 235: areturn 236: ldc_w #621; //String Argument not valid 239: areturn 240: ldc_w #623; //String Return value not valid 243: areturn 244: ldc_w #625; //String Index out of bounds 247: areturn 248: ldc_w #627; //String Argument cannot be zero 251: areturn 252: ldc_w #629; //String Cannot get item 255: areturn 256: ldc_w #631; //String Cannot get selection 259: areturn 260: ldc_w #633; //String Cannot get item height 263: areturn 264: ldc_w #635; //String Cannot get text 267: areturn 268: ldc_w #637; //String Cannot set text 271: areturn 272: ldc_w #639; //String Item not added 275: areturn 276: ldc_w #641; //String Item not removed 279: areturn 280: ldc_w #643; //String Not implemented 283: areturn 284: ldc_w #645; //String Menu must be a drop down 287: areturn 288: ldc_w #647; //String Invalid thread access 291: areturn 292: ldc_w #649; //String Widget is disposed 295: areturn 296: ldc_w #651; //String Menu item is not a CASCADE 299: areturn 300: ldc_w #653; //String Cannot set selection 303: areturn 304: ldc_w #655; //String Cannot set menu 307: areturn 308: ldc_w #657; //String Cannot set the enabled state 311: areturn 312: ldc_w #659; //String Cannot get the enabled state 315: areturn 316: ldc_w #661; //String Widget has the wrong parent 319: areturn 320: ldc_w #663; //String Menu is not a BAR 323: areturn 324: ldc_w #665; //String Cannot get count 327: areturn 328: ldc_w #667; //String Menu is not a POP_UP 331: areturn 332: ldc_w #669; //String Unsupported color depth 335: areturn 336: ldc_w #671; //String i/o error 339: areturn 340: ldc_w #673; //String Invalid image 343: areturn 344: ldc_w #675; //String Unsupported or unrecognized format 347: areturn 348: ldc_w #677; //String Subclassing not allowed 351: areturn 352: ldc_w #679; //String Graphic is disposed 355: areturn 356: ldc_w #681; //String Device is disposed 359: areturn 360: ldc_w #683; //String BrowserFunction is disposed 363: areturn 364: ldc_w #685; //String Failed to execute runnable 367: areturn 368: ldc_w #687; //String Failed to evaluate javascript expression 371: areturn 372: ldc_w #689; //String Unable to load library 375: areturn 376: ldc_w #691; //String Cannot invert matrix 379: areturn 380: ldc_w #693; //String Unable to load graphics library 383: areturn 384: ldc_w #695; //String Font not valid 387: areturn 388: ldc_w #697; //String Unknown error 391: areturn public static java.lang.String getMessage(java.lang.String); Code: 0: aload_0 1: invokestatic #701; //Method org/eclipse/swt/internal/Compatibility.getMessage:(Ljava/lang/String;)Ljava/lang/String; 4: areturn public static java.lang.String getPlatform(); Code: 0: ldc_w #705; //String gtk 3: areturn public static int getVersion(); Code: 0: getstatic #709; //Field org/eclipse/swt/internal/Library.SWT_VERSION:I 3: ireturn public static void error(int); Code: 0: iload_0 1: aconst_null 2: invokestatic #716; //Method error:(ILjava/lang/Throwable;)V 5: return public static void error(int, java.lang.Throwable); Code: 0: iload_0 1: aload_1 2: aconst_null 3: invokestatic #719; //Method error:(ILjava/lang/Throwable;Ljava/lang/String;)V 6: return public static void error(int, java.lang.Throwable, java.lang.String); Code: 0: iload_0 1: bipush 46 3: if_icmpeq 30 6: aload_1 7: instanceof #722; //class org/eclipse/swt/SWTError 10: ifeq 18 13: aload_1 14: checkcast #722; //class org/eclipse/swt/SWTError 17: athrow 18: aload_1 19: instanceof #724; //class org/eclipse/swt/SWTException 22: ifeq 30 25: aload_1 26: checkcast #724; //class org/eclipse/swt/SWTException 29: athrow 30: iload_0 31: invokestatic #726; //Method findErrorText:(I)Ljava/lang/String; 34: astore_3 35: aload_2 36: ifnull 58 39: new #728; //class java/lang/StringBuffer 42: dup 43: aload_3 44: invokestatic #730; //Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String; 47: invokespecial #734; //Method java/lang/StringBuffer."<init>":(Ljava/lang/String;)V 50: aload_2 51: invokevirtual #737; //Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer; 54: invokevirtual #741; //Method java/lang/StringBuffer.toString:()Ljava/lang/String; 57: astore_3 58: iload_0 59: tableswitch{ //1 to 51 1: 305; 2: 305; 3: 305; 4: 276; 5: 276; 6: 276; 7: 276; 8: 305; 9: 305; 10: 285; 11: 305; 12: 305; 13: 305; 14: 305; 15: 305; 16: 285; 17: 325; 18: 325; 19: 325; 20: 305; 21: 276; 22: 285; 23: 325; 24: 285; 25: 325; 26: 325; 27: 276; 28: 305; 29: 305; 30: 305; 31: 305; 32: 276; 33: 276; 34: 325; 35: 325; 36: 305; 37: 276; 38: 285; 39: 285; 40: 285; 41: 325; 42: 285; 43: 285; 44: 285; 45: 285; 46: 285; 47: 305; 48: 325; 49: 285; 50: 285; 51: 285; default: 325 } 276: new #744; //class java/lang/IllegalArgumentException 279: dup 280: aload_3 281: invokespecial #746; //Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V 284: athrow 285: new #724; //class org/eclipse/swt/SWTException 288: dup 289: iload_0 290: aload_3 291: invokespecial #747; //Method org/eclipse/swt/SWTException."<init>":(ILjava/lang/String;)V 294: astore 4 296: aload 4 298: aload_1 299: putfield #750; //Field org/eclipse/swt/SWTException.throwable:Ljava/lang/Throwable; 302: aload 4 304: athrow 305: new #722; //class org/eclipse/swt/SWTError 308: dup 309: iload_0 310: aload_3 311: invokespecial #754; //Method org/eclipse/swt/SWTError."<init>":(ILjava/lang/String;)V 314: astore 4 316: aload 4 318: aload_1 319: putfield #755; //Field org/eclipse/swt/SWTError.throwable:Ljava/lang/Throwable; 322: aload 4 324: athrow 325: new #722; //class org/eclipse/swt/SWTError 328: dup 329: iload_0 330: aload_3 331: invokespecial #754; //Method org/eclipse/swt/SWTError."<init>":(ILjava/lang/String;)V 334: astore 4 336: aload 4 338: aload_1 339: putfield #755; //Field org/eclipse/swt/SWTError.throwable:Ljava/lang/Throwable; 342: aload 4 344: athrow }