GUI Programming using Java 1.1 These slides have been updated. For a new version see http://jan.newmarch.name/java/swingtut/tut1a.html and http://jan.newmarch.name/java/swingtut/tut1b.html . There is also a Swing tutorial http://jan.newmarch.name/java/swingtut/tut2.html .

Jan Newmarch jan@newmarch.name


Last modified: 7 February, 1997. These slides are Copyright Jan Newmarch, 1995, 1996, 1997. This tutorial discusses using the AWT (Abstract Window Toolkit) of Java to perform platform-independent GUI programming. It makes the following assumptions: Exposure to Java; Exposure to OO programming; Familiarity with a GUI library such as Motif.

1. PART A: Java

2. Simple Types and Statements

3. Arrays

4. Classes

5. Methods

6. Interfaces

7. Standard Libraries

8. Addresses Example

9. Addresses (1)

10. Addresses (2)

11. Addresses (3)

12. Addresses (4)

13. Addresses (5)

14. Addresses (6)

15. Addresses (7)

16. Addresses (8)

17. Addresses (9)

18. Addresses (10)

19. PART B: GUI Library

20. Applet vs Application

21. GUI Hierarchy

22. Primitive Components

23. Container Components

24. MenuComponents

25. Layout Objects

26. Component Objects

27. Label

28. Label (2)

29. Hello World

30. Frame

31. Button

32. AWT events

33. AWT Event classes

34. AWT Event ids

35. Triggering events

36. Listeners

37. Listeners as interfaces

38. Registering listeners

39. Simple Delegation program (1)

40. Simple Delegation program (2)

41. Simple Delegation program (3)

42. Motion Tracking (1)

43. Motion Tracking (2)

44. Motion Tracking (3)

45. Motion Tracking (4)

46. Changing key values (1)

47. Changing key values (2)

48. Consuming events

49. Consuming events

50. Generating Events

51. Generating Events of a new Class

52. FileDialog

53. FileDialog (2)

54. FileDialog Parent

55. Panel

56. Geometry

57. Size Calculations

58. Geometry Calculations

59. Insets and Layout Objects

60. BorderLayout

61. BorderLayout (2)

62. BorderLayout (3)

63. FlowLayout

64. FlowLayout (2)

65. FlowLayout (3)

66. GridLayout

67. GridLayout (2)

68. GridLayout (3)

69. GridBagLayout

70. GridBagLayout: Direction of Addition

71. GridBagLayout: Direction of Addition (2)

72. GridBagLayout: Direction of Addition (3)

73. GridBagLayout: Direction of Addition (4)

74. GridBagLayout: Direction of Addition (5)

75. GridBagLayout: Direction of Addition (6)

76. GridBagLayout: Direction of Addition (7)

77. GridBagLayout: Direction of Addition (8)

78. GridBagLayout: Cell Size Requests

79. GridBagLayout: Multiple Rows

80. GridBagLayout: Multiple Rows (2)

81. GridBagLayout: Multiple Rows (3)

82. GridBagLayout: Cell Size Granting

83. Denied Request

84. Accepted Request

85. Accepted Request (2)

86. GridBaglayout: Resizing

87. GridBaglayout: Fill

88. GridBaglayout: Anchors

89. A Complex Layout

90. A Complex Layout (2)

91. CardLayout

92. CardLayout (2)

93. CardLayout (3)

94. Building your own manager

95. Building your own manager

96. Menus

97. MenuBar

98. Menu

99. MenuItem and CheckboxMenuItem

100. Menu Example

101. Menu selection handling

102. Dialogs

103. About Dialog

104. About Dialog (2)

105. About Dialog (3)

106. Fonts

107. Graphics

108. Conclusion