✅ UNIT I – OOPS Concepts & Java Basics
(30 MCQs with Answers)
1. Who invented Java?
a) Dennis Ritchie
b) Bjarne Stroustrup
c) James Gosling
d) Guido van Rossum
Answer: c
2. Java was originally developed by
a) IBM
b) Sun Microsystems
c) Microsoft
d) Oracle
Answer: b
3. JVM stands for
a) Java Variable Machine
b) Java Virtual Machine
c) Joint Virtual Machine
d) Java Verified Machine
Answer: b
4. Java is platform independent because of
a) OS
b) Compiler
c) JVM
d) BIOS
Answer: c
5. Which is not a Java buzzword?
a) Secure
b) Robust
c) Pointer-based
d) Portable
Answer: c
6. Size of int in Java
a) 2 bytes
b) 4 bytes
c) 8 bytes
d) Depends on OS
Answer: b
7. Default value of boolean
a) true
b) false
c) 0
d) null
Answer: b
8. Which is not primitive?
a) int
b) float
c) String
d) char
Answer: c
9. Array index starts from
a) 0
b) 1
c) -1
d) 2
Answer: a
10. Entry point of Java program
a) start()
b) run()
c) main()
d) init()
Answer: c
11. Constructor name must be same as
a) Method
b) Class
c) Object
d) Package
Answer: b
12. Static variables belong to
a) Object
b) Class
c) Method
d) Package
Answer: b
13. String objects are
a) Mutable
b) Immutable
c) Static
d) Dynamic
Answer: b
14. StringBuffer is
a) Immutable
b) Mutable
c) Interface
d) Abstract
Answer: b
15. Implicit conversion is called
a) Narrowing
b) Casting
c) Widening
d) Parsing
Answer: c
16. Which loop executes at least once?
a) for
b) while
c) do-while
d) foreach
Answer: c
17. Scope of local variable
a) Class
b) Package
c) Method
d) JVM
Answer: c
18. Lifetime of instance variable
a) Till method ends
b) Till object exists
c) Forever
d) Compile time
Answer: b
19. == operator is used for
a) Assignment
b) Comparison
c) Logical AND
d) Addition
Answer: b
20. break statement
a) Skips iteration
b) Exits loop
c) Stops program
d) Throws error
Answer: b
21. continue statement
a) Stops loop
b) Skips iteration
c) Ends program
d) Compile error
Answer: b
22. Default access modifier
a) public
b) private
c) protected
d) package-private
Answer: d
23. Java source file extension
a) .class
b) .exe
c) .java
d) .jar
Answer: c
24. Static block executes
a) Every time object created
b) Once when class loads
c) Never
d) Twice
Answer: b
25. Arithmetic operator example
a) &&
b) ||
c) +
d) ==
Answer: c
26. Which is selection statement?
a) for
b) if
c) break
d) continue
Answer: b
27. Which class belongs to [Link] package?
a) File
b) String
c) Scanner
d) Buffer
Answer: b
28. Arrays are
a) Fixed size
b) Dynamic
c) Infinite
d) Interface
Answer: a
29. Which keyword is used for object creation?
a) create
b) new
c) class
d) object
Answer: b
30. JVM converts bytecode into
a) Source code
b) Machine code
c) C code
d) HTML
Answer: b
✅ UNIT II – Inheritance, Packages,
Interfaces & Exception Handling
1. Inheritance keyword in Java
a) inherit
b) extends
c) implements
d) super
Answer: b
2. Java supports multiple inheritance through
a) Classes
b) Interfaces
c) Packages
d) Methods
Answer: b
3. super keyword refers to
a) Current class
b) Parent class
c) Object
d) Package
Answer: b
4. this keyword refers to
a) Parent class
b) Current object
c) Package
d) Interface
Answer: b
5. Method overloading means
a) Same name, different parameters
b) Same name, same parameters
c) Different name
d) Static method
Answer: a
6. Method overriding requires
a) Different signature
b) Same signature
c) Static method
d) Final method
Answer: b
7. Dynamic method dispatch occurs in
a) Overloading
b) Overriding
c) Constructor
d) Static block
Answer: b
8. final keyword prevents
a) Inheritance
b) Overriding
c) Both a and b
d) None
Answer: c
9. Abstract class can contain
a) Only abstract methods
b) Concrete methods also
c) No methods
d) Only static methods
Answer: b
10. Interface methods are by default
a) private
b) protected
c) public abstract
d) static
Answer: c
11. Package keyword is used to
a) Import classes
b) Define package
c) Compile code
d) Run program
Answer: b
12. Import statement is used to
a) Define class
b) Access package
c) Extend class
d) Override method
Answer: b
13. try block must be followed by
a) catch or finally
b) throw
c) throws
d) class
Answer: a
14. throws keyword is used in
a) Method declaration
b) Try block
c) Catch block
d) Finally block
Answer: a
15. throw keyword is used to
a) Catch exception
b) Throw exception
c) Ignore exception
d) Define exception
Answer: b
16. finally block executes
a) Always
b) Never
c) Only if error
d) Only if no error
Answer: a
17. Which is checked exception?
a) ArithmeticException
b) IOException
c) NullPointerException
d) ArrayIndexOutOfBoundsException
Answer: b
18. Root class of exception hierarchy
a) Exception
b) Throwable
c) Error
d) Object
Answer: b
19. User-defined exceptions extend
a) Error
b) Throwable
c) Exception
d) Object
Answer: c
20. Protected member is accessible
a) Only same class
b) Same package + subclasses
c) Only subclass
d) Everywhere
Answer: b
21. Overriding supports
a) Compile-time polymorphism
b) Runtime polymorphism
c) No polymorphism
d) Encapsulation
Answer: b
22. Interface is declared using
a) class
b) interface
c) abstract
d) implements
Answer: b
23. Class implements interface using
a) extends
b) implement
c) implements
d) inherit
Answer: c
24. A class can implement
a) One interface
b) Two interfaces
c) Multiple interfaces
d) None
Answer: c
25. Default access modifier is
a) public
b) private
c) protected
d) package-private
Answer: d
26. Exception handling improves
a) Compilation speed
b) Program reliability
c) Memory usage
d) GUI
Answer: b
27. Catch block parameter must be
a) Object
b) Exception type
c) String
d) int
Answer: b
28. Multiple catch blocks execute
a) All
b) Only first matching
c) None
d) Random
Answer: b
29. Abstract class cannot be
a) Extended
b) Instantiated
c) Used
d) Imported
Answer: b
30. If a method is final, it
a) Can be overridden
b) Cannot be overridden
c) Must be static
d) Must be abstract
Answer: b
✅ UNIT III – Multithreading & I/O Streams
1. Thread class belongs to
a) [Link]
b) [Link]
c) [Link]
d) [Link]
Answer: b
2. Thread is created using
a) Thread class
b) Runnable interface
c) Both
d) None
Answer: c
3. start() method calls
a) main()
b) run()
c) init()
d) stop()
Answer: b
4. Thread life cycle includes
a) New
b) Runnable
c) Blocked
d) All
Answer: d
5. Synchronization avoids
a) Deadlock
b) Race condition
c) Compilation error
d) Garbage collection
Answer: b
6. synchronized keyword provides
a) Thread safety
b) Inheritance
c) GUI
d) Casting
Answer: a
7. Deadlock occurs when
a) Threads wait for each other
b) No thread
c) Only one thread
d) Compile error
Answer: a
8. wait() method belongs to
a) Thread
b) Object
c) Runnable
d) File
Answer: b
9. Byte stream superclass
a) Reader
b) InputStream
c) Writer
d) Buffer
Answer: b
10. Character stream superclass
a) Reader
b) InputStream
c) OutputStream
d) File
Answer: a
11. FileInputStream is used for
a) Writing file
b) Reading file
c) GUI
d) Threading
Answer: b
12. FileOutputStream is used for
a) Reading
b) Writing
c) Exception
d) Package
Answer: b
13. BufferedReader reads
a) Byte
b) Character
c) File only
d) Thread
Answer: b
14. PrintWriter is used for
a) Output
b) Input
c) Thread
d) Exception
Answer: a
15. join() method
a) Starts thread
b) Waits for thread completion
c) Stops thread
d) Destroys thread
Answer: b
16. sleep() method throws
a) IOException
b) InterruptedException
c) ArithmeticException
d) NullPointerException
Answer: b
17. Thread priority range
a) 1–5
b) 1–10
c) 1–100
d) 0–9
Answer: b
18. setPriority() sets
a) File priority
b) Thread priority
c) Class priority
d) Package priority
Answer: b
19. notify() wakes up
a) All threads
b) One waiting thread
c) None
d) JVM
Answer: b
20. notifyAll() wakes
a) One
b) All waiting threads
c) None
d) Main thread
Answer: b
✅ UNIT IV – AWT & Event Handling (30
MCQs with Answers)
1. AWT stands for
a) Abstract Window Toolkit
b) Advanced Window Tool
c) Application Window Toolkit
d) Abstract Widget Tool
Answer: a
2. AWT belongs to package
a) [Link]
b) [Link]
c) [Link]
d) [Link]
Answer: b
3. Frame class is a
a) Container
b) Layout
c) Event
d) Listener
Answer: a
4. Panel is
a) Top-level container
b) Sub-container
c) Layout manager
d) Listener
Answer: b
5. Default layout of Frame is
a) FlowLayout
b) GridLayout
c) BorderLayout
d) CardLayout
Answer: c
6. FlowLayout arranges components
a) In grid
b) Left to right
c) Border wise
d) Randomly
Answer: b
7. BorderLayout has
a) 3 regions
b) 4 regions
c) 5 regions
d) 6 regions
Answer: c
8. GridLayout arranges components in
a) Flow
b) Rows and columns
c) Border
d) Cards
Answer: b
9. Label is used to
a) Input text
b) Display text
c) Handle events
d) Layout
Answer: b
10. Button generates
a) MouseEvent
b) ActionEvent
c) KeyEvent
d) WindowEvent
Answer: b
11. TextField is used for
a) Multi-line text
b) Single-line text
c) Menu
d) Scroll
Answer: b
12. TextArea is used for
a) Single line
b) Multi-line text
c) Button
d) Frame
Answer: b
13. Checkbox is used for
a) Single selection
b) Multiple selection
c) Menu
d) Layout
Answer: b
14. CheckboxGroup allows
a) Multiple selection
b) Single selection
c) No selection
d) Layout
Answer: b
15. Choice component is
a) Drop-down list
b) Button
c) Panel
d) MenuBar
Answer: a
16. List component allows
a) Displaying list items
b) Drawing
c) Layout
d) Thread
Answer: a
17. ScrollPane provides
a) Layout
b) Scrollbars
c) Event
d) Menu
Answer: b
18. Event Delegation Model introduced in
a) JDK 1.0
b) JDK 1.1
c) JDK 1.2
d) JDK 1.3
Answer: b
19. Event source generates
a) Event
b) Layout
c) Container
d) Panel
Answer: a
20. Event listener is
a) Class
b) Interface
c) Object
d) Layout
Answer: b
21. MouseListener is
a) Class
b) Interface
c) Package
d) Method
Answer: b
22. KeyListener handles
a) Mouse events
b) Keyboard events
c) Window events
d) Scroll events
Answer: b
23. Adapter classes are used to
a) Simplify event handling
b) Layout design
c) Thread creation
d) Exception handling
Answer: a
24. ActionListener method is
a) actionPerformed()
b) mouseClicked()
c) keyTyped()
d) run()
Answer: a
25. WindowListener handles
a) Button
b) Window events
c) Layout
d) Text
Answer: b
26. MenuBar is added to
a) Panel
b) Frame
c) Button
d) Label
Answer: b
27. Scrollbar is used for
a) Layout
b) Scrolling
c) Event
d) Thread
Answer: b
28. setLayout() method sets
a) Event
b) Layout manager
c) Frame size
d) Color
Answer: b
29. setVisible(true) makes frame
a) Hidden
b) Visible
c) Closed
d) Disabled
Answer: b
30. Inner classes are useful in
a) Event handling
b) Thread
c) Package
d) File
Answer: a
✅ UNIT V – Swing (30 MCQs with
Answers)
1. Swing package is
a) [Link]
b) [Link]
c) [Link]
d) [Link]
Answer: b
2. Swing components are
a) Heavyweight
b) Lightweight
c) Mixed
d) Native
Answer: b
3. Top-level container in Swing
a) JPanel
b) JButton
c) JFrame
d) JLabel
Answer: c
4. JPanel is
a) Top-level container
b) Lightweight container
c) Layout manager
d) Listener
Answer: b
5. JButton generates
a) KeyEvent
b) ActionEvent
c) MouseEvent
d) WindowEvent
Answer: b
6. JLabel is used to
a) Input text
b) Display text
c) Layout
d) Thread
Answer: b
7. JTextField allows
a) Multi-line text
b) Single-line text
c) No text
d) Layout
Answer: b
8. JTextArea allows
a) Single-line
b) Multi-line
c) Button
d) Frame
Answer: b
9. JCheckBox allows
a) Single selection
b) Multiple selection
c) Layout
d) Event
Answer: b
10. JRadioButton allows
a) Multiple selection
b) Single selection (with group)
c) Layout
d) Thread
Answer: b
11. ButtonGroup is used with
a) JCheckBox
b) JRadioButton
c) JLabel
d) JTextArea
Answer: b
12. JComboBox is
a) List
b) Drop-down list
c) Button
d) Layout
Answer: b
13. JList displays
a) Items list
b) Layout
c) Thread
d) Event
Answer: a
14. JScrollPane provides
a) Menu
b) Scrollbars
c) Layout
d) Thread
Answer: b
15. JDialog is
a) Main window
b) Dialog box
c) Layout
d) Event
Answer: b
16. JWindow is
a) Decorated window
b) Undecorated window
c) Layout
d) Listener
Answer: b
17. Swing is extension of
a) AWT
b) IO
c) Thread
d) Exception
Answer: a
18. Swing supports
a) Pluggable Look and Feel
b) Native only
c) Console only
d) Thread only
Answer: a
19. setSize() method sets
a) Layout
b) Frame size
c) Event
d) Thread
Answer: b
20. setDefaultCloseOperation() is used in
a) JPanel
b) JFrame
c) JButton
d) JLabel
Answer: b
21. Swing uses
a) Event Delegation Model
b) Thread model
c) Package model
d) None
Answer: a
22. JMenuBar is added to
a) JFrame
b) JButton
c) JLabel
d) JPanel
Answer: a
23. JMenuItem generates
a) ActionEvent
b) KeyEvent
c) MouseEvent
d) None
Answer: a
24. JTextField method to get text
a) getText()
b) setText()
c) read()
d) write()
Answer: a
25. setLayout() sets
a) Layout manager
b) Frame title
c) Event
d) Thread
Answer: a
26. JFrame extends
a) Frame
b) JComponent
c) Container
d) Object
Answer: c
27. Swing components are written in
a) Native code
b) Pure Java
c) C++
d) Assembly
Answer: b
28. JPanel default layout
a) BorderLayout
b) FlowLayout
c) GridLayout
d) CardLayout
Answer: b
29. setVisible(true) makes frame
a) Invisible
b) Visible
c) Close
d) Hide
Answer: b
30. Swing is part of
a) JFC (Java Foundation Classes)
b) IO
c) Thread
d) JVM
Answer: a
Possible 7 marks
🔹 K1 – Remember
1. Define OOP. List the main features of Object-Oriented Programming.
2. What are Java buzzwords? Explain any five.
3. Draw and explain the architecture of JVM.
4. List and explain Java primitive data types.
5. Define constructor, method, static block, and static variable.
🔹 K2 – Understand
6. Explain scope and lifetime of variables in Java with example.
7. Differentiate String and StringBuffer classes.
8. Explain type conversion and type casting with suitable examples.
9. Describe control statements in Java with syntax.
10. Explain arrays in Java with example program.
🔹 K3 – Apply
11. Write a Java program to demonstrate constructor overloading.
12. Develop a Java program using static block and static method.
13. Write a Java program to perform matrix addition using arrays.
14. Implement a Java program demonstrating type casting.
15. Write a program to show the use of operators and control statements.
🔹 K4 – Analyze
16. Analyze how JVM ensures platform independence.
17. Compare instance variables and static variables with suitable example.
18. Analyze the memory allocation of String vs StringBuffer.
19. Examine how scope affects variable lifetime in Java.
20. Analyze execution flow of a simple Java program with constructor and static block.
✅ UNIT II – Inheritance, Packages,
Interfaces & Exception Handling
🔹 K1 – Remember
1. Define inheritance. List types of inheritance in Java.
2. Define method overloading and method overriding.
3. What is an abstract class?
4. Define package and explain its need.
5. List built-in exceptions in Java.
🔹 K2 – Understand
6. Explain usage of this and super keywords with example.
7. Differentiate overloading and overriding.
8. Explain dynamic method dispatch.
9. Explain access protection in packages.
10. Describe try–catch–finally with example.
🔹 K3 – Apply
11. Write a Java program demonstrating multilevel inheritance.
12. Develop a program using interface implementation.
13. Write a program to create and use a user-defined exception.
14. Implement method overriding with runtime polymorphism.
15. Write a program using multiple interfaces.
🔹 K4 – Analyze
16. Analyze the role of final keyword in inheritance.
17. Compare abstract class and interface.
18. Analyze how dynamic method dispatch supports polymorphism.
19. Examine exception propagation using throws.
20. Analyze access modifiers and their impact on inheritance.
✅ UNIT III – Multithreading & I/O Streams
🔹 K1 – Remember
1. Define thread and multithreading.
2. List thread life cycle states.
3. What is synchronization?
4. Define byte stream and character stream.
5. List common I/O stream classes.
🔹 K2 – Understand
6. Explain Thread class and Runnable interface.
7. Explain synchronized method and synchronized block.
8. Describe inter-thread communication.
9. Differentiate byte stream and character stream.
10. Explain file handling in Java.
🔹 K3 – Apply
11. Write a Java program to create a thread using Thread class.
12. Develop a program implementing Runnable interface.
13. Write a program demonstrating synchronization.
14. Implement file copy using FileInputStream and FileOutputStream.
15. Write a program to read console input using BufferedReader.
🔹 K4 – Analyze
16. Analyze causes of deadlock with example.
17. Compare synchronized method and synchronized block.
18. Analyze thread life cycle with state transition diagram.
19. Examine performance impact of multithreading.
20. Analyze advantages of character streams over byte streams.
✅ UNIT IV – AWT & Event Handling
🔹 K1 – Remember
1. Define AWT. List its components.
2. What is layout manager? List types.
3. Define Event Delegation Model.
4. List different AWT controls.
5. What are adapter classes?
🔹 K2 – Understand
6. Explain AWT class hierarchy.
7. Explain working of Frame class.
8. Describe different layout managers.
9. Explain event sources and event listeners.
10. Explain mouse and keyboard events.
🔹 K3 – Apply
11. Write a Java program to create a Frame with Label and Button.
12. Develop a program demonstrating FlowLayout.
13. Implement a program handling ActionEvent.
14. Write a program to handle mouse events.
15. Create a menu-driven AWT application.
🔹 K4 – Analyze
16. Analyze the Event Delegation Model architecture.
17. Compare different layout managers.
18. Examine advantages of adapter classes.
19. Analyze event handling flow in Java.
20. Evaluate limitations of AWT components.
✅ UNIT V – Swing
🔹 K1 – Remember
1. Define Swing. List its features.
2. What are top-level containers in Swing?
3. List common Swing components.
4. Define lightweight component.
5. What is JPanel?
🔹 K2 – Understand
6. Explain hierarchy of Swing components.
7. Differentiate AWT and Swing.
8. Explain JFrame and JDialog.
9. Describe usage of JButton, JTextField, JTextArea.
10. Explain JList and JComboBox.
🔹 K3 – Apply
11. Write a Swing program using JFrame and JPanel.
12. Develop a form using JLabel, JTextField and JButton.
13. Create a program using JRadioButton and JCheckBox.
14. Implement JComboBox and JList in a Swing application.
15. Design a login form using Swing components.
🔹 K4 – Analyze
16. Analyze Swing component hierarchy.
17. Compare JFrame, JWindow and JDialog.
18. Evaluate advantages of Swing over AWT.
19. Analyze event handling in Swing applications.
20. Examine the role of JScrollPane in GUI design.
10 mark questions
🔹 K1 – Remember
1. Explain the history of Java and discuss Java buzzwords in detail.
2. Describe JVM architecture with neat diagram.
3. Explain Java data types and variables with examples.
🔹 K2 – Understand
4. Explain scope and lifetime of variables in Java with suitable examples.
5. Discuss arrays in Java and explain different types of arrays with example programs.
6. Explain operators and control statements in Java with syntax and examples.
7. Differentiate String and StringBuffer classes with examples.
🔹 K3 – Apply
8. Develop a Java program demonstrating constructors, static block, static data and static
methods.
9. Write a Java program to perform matrix multiplication using arrays.
10. Develop a Java program to demonstrate type conversion and casting.
11. Write a program illustrating use of methods and parameter passing in Java.
🔹 K4 – Analyze
12. Analyze how JVM provides platform independence and memory management.
13. Compare static and instance members with execution flow analysis.
14. Analyze execution sequence of a Java program involving static block, constructor and
main method.
✅ UNIT II – Inheritance, Packages,
Interfaces & Exception Handling (10
Marks Questions)
🔹 K1 – Remember
1. Explain types of inheritance in Java with diagrams.
2. Describe method overloading and method overriding with examples.
3. Explain built-in exceptions in Java.
🔹 K2 – Understand
4. Explain usage of this and super keywords with suitable examples.
5. Describe abstract classes and interfaces in detail.
6. Explain packages in Java and discuss access protection mechanisms.
7. Explain exception handling mechanism using try–catch–finally with example.
🔹 K3 – Apply
8. Develop a Java program demonstrating multilevel inheritance and method overriding.
9. Write a program implementing multiple interfaces.
10. Develop a program creating user-defined exception and handling it.
11. Implement dynamic method dispatch with suitable program.
🔹 K4 – Analyze
12. Compare abstract class and interface with justification.
13. Analyze role of final keyword in inheritance and method overriding.
14. Examine exception propagation using throw and throws with execution flow.
15. Analyze access control in packages and its impact on inheritance.
✅ UNIT III – Multithreading & I/O Streams
(10 Marks Questions)
🔹 K1 – Remember
1. Explain thread life cycle with state diagram.
2. Describe concepts of byte stream and character stream.
3. Explain synchronization in Java.
🔹 K2 – Understand
4. Differentiate Thread class and Runnable interface.
5. Explain synchronized methods and synchronized blocks with example.
6. Describe inter-thread communication mechanism.
7. Explain file handling operations in Java.
🔹 K3 – Apply
8. Write a Java program to create multiple threads and demonstrate synchronization.
9. Develop a program to copy contents from one file to another using file streams.
10. Write a program demonstrating inter-thread communication using wait() and notify().
11. Implement console input and output using BufferedReader and PrintWriter.
🔹 K4 – Analyze
12. Analyze causes and prevention of deadlock with example.
13. Compare byte stream and character stream with performance considerations.
14. Analyze thread scheduling and its impact on performance.
15. Examine synchronization issues in multithreaded programs with example.
✅ UNIT IV – AWT & Event Handling (10
Marks Questions)
🔹 K1 – Remember
1. Explain AWT class hierarchy with neat diagram.
2. Describe various AWT controls and their properties.
3. Explain Event Delegation Model.
🔹 K2 – Understand
4. Explain layout managers in AWT with examples.
5. Describe working of Frame class with suitable example.
6. Explain mouse and keyboard event handling in Java.
7. Discuss adapter classes and their need.
🔹 K3 – Apply
8. Develop an AWT application with Label, Button, TextField and appropriate layout
manager.
9. Write a program to handle ActionEvent and MouseEvent.
10. Implement a menu-driven AWT application with event handling.
11. Develop a program demonstrating different layout managers.
🔹 K4 – Analyze
12. Analyze Event Delegation Model architecture with block diagram.
13. Compare different layout managers in terms of usage and performance.
14. Evaluate limitations of AWT and justify need for Swing.
15. Analyze event handling flow from event source to listener.
✅ UNIT V – Swing (10 Marks Questions)
🔹 K1 – Remember
1. Explain features of Swing and its component hierarchy.
2. Describe top-level containers in Swing.
3. List and explain commonly used Swing components.
🔹 K2 – Understand
4. Differentiate AWT and Swing with suitable examples.
5. Explain JFrame, JDialog and JWindow with examples.
6. Describe various Swing controls such as JButton, JLabel, JTextField, JTextArea.
7. Explain JList, JComboBox and JScrollPane.
🔹 K3 – Apply
8. Develop a Swing application demonstrating form design using JFrame and JPanel.
9. Write a program implementing radio buttons and checkboxes with event handling.
10. Create a student registration form using Swing components.
11. Develop a Swing application with menu and dialog box.
🔹 K4 – Analyze
12. Analyze Swing component hierarchy and lightweight architecture.
13. Compare JFrame, JWindow and JDialog with suitable use cases.
14. Evaluate advantages of Swing over AWT.
15. Analyze event handling mechanism in Swing applications.