0% found this document useful (0 votes)
26 views16 pages

AJP Report

This document describes a quiz app project developed in Java using the Swing GUI library. The app features interactive quizzes on various programming languages and utilizes GUI components, event handling, and quiz logic to provide a seamless learning experience for users.

Uploaded by

Suyash Kerkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views16 pages

AJP Report

This document describes a quiz app project developed in Java using the Swing GUI library. The app features interactive quizzes on various programming languages and utilizes GUI components, event handling, and quiz logic to provide a seamless learning experience for users.

Uploaded by

Suyash Kerkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

A

Micro-Project Report
On

Quiz App

Submitted To
MSBTE
In Partial Fulfilment of Requirement of Diploma Of
Computer Engineering
Under I Scheme
Submitted By

Mr. Suyash Satish Kerkar


Mr. Manas Dattaram Desai

Ms. Manasvi Sanjay Parab

Ms. Shejal Angad Chandekar

Under the Guidance Of

Ms Gawandi T.V.

For Academic Year 2023-2024

Yashwantrao Bhonsale Institute Of Technology,


Sawantwadi
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION
CERTIFICATE
This is to certify that,

Mr. Suyash Satish Kerkar Roll No.01

Mr. Manas Dattaram Desai Roll No.04

Ms. Manasvi Sanjay Parab Roll No.09

Ms. Shejal Angad Chandekar Roll No.12

Of Fifth semester of diploma in Computer Engineering of institute


Yashwantrao Bhonsale Institute of Technology (1742) has completed the Micro
Project satisfactorily in subject Advanced Java Programming (22517) for the
academic year 2023 to 2024 as prescribed in the curriculum.

Subject Faculty HOD Principal

Seal of

Institution
INDEX

Sr. Topic Name Page


No. No.
1. Abstract 1

2. Introduction 1

3. Overview Of Java GUI Programming 2-3

4. Description of Project 4-5

5. Technology Used 6

6. Program Code 7-9

7. Output 10-11

8. Conclusion 12

9. Reference 13
1.Abstract: -

This Quiz App is a Java-based educational tool designed for interactive programming
language quizzes. Developed using Java Swing, this application facilitates a user-
friendly graphical interface for quizzes on C, C++, Java, JavaScript, and Python.
Users navigate through a seamless experience, starting with a welcoming menu,
selecting a quiz, and answering questions with instant feedback. This project
showcases effective utilization of Java GUI programming to enhance learning
experiences, providing an adaptable foundation for future expansions.

2.Introduction: -

In the contemporary landscape of digital education, interactive applications play a


pivotal role in engaging learners. This Quiz App is tailored to meet this need by
offering a platform where users can assess their programming language knowledge.
Java Swing, a robust toolkit for GUI development, forms the backbone of this
project. This report delves into the structure, technology, and codebase of this Quiz
App, shedding light on its significance in fostering a dynamic and interactive learning
environment.

Advanced Java Programming Microproject Page | 1


3.Overview of Java GUI Programming: -

Java GUI (Graphical User Interface) programming involves creating interactive


visual elements for software applications. It is a critical aspect of developing user-
friendly and visually appealing desktop applications. Java provides two main libraries
for GUI development: AWT (Abstract Window Toolkit) and Swing.

1. AWT (Abstract Window Toolkit):


 AWT is the original GUI toolkit in Java.
 It relies on the native components of the underlying operating system,
making it less consistent across platforms.
 Basic components include buttons, labels, text fields, and windows.
 While AWT is straightforward, Swing offers more advanced features
and customization.

2. Swing:
 Swing is an extension of AWT and provides a richer set of components
and features.
 It is platform-independent, ensuring consistent behaviour across
different operating systems.
 Swing components are lightweight, offering improved performance.
 Advanced components include tables, trees, sliders, and tabbed panes.
 Event handling is central to Swing, allowing developers to respond to
user actions.

3. Key Concepts:
 Components: GUI elements such as buttons, labels, and text fields.

Advanced Java Programming Microproject Page | 2


 Layout Managers: Control the arrangement of components within a
container.
 Event Handling: Mechanism for responding to user interactions like
button clicks.
 Swing Workers: Facilitate background tasks to keep the GUI
responsive.

4. JavaFX (Optional):
 While Swing is prevalent, JavaFX is a modern GUI framework
providing enhanced features and improved graphics capabilities.
 JavaFX supports rich multimedia, 3D graphics, and a more flexible
layout system.

Advanced Java Programming Microproject Page | 3


4.Description of Project: -

This Quiz App project is a Java-based educational application focused on providing


interactive quizzes on various programming languages. Developed using Java's Swing
library for GUI programming, the project offers a seamless and engaging learning
experience. The application is structured around quizzes in C, C++, Java, JavaScript,
and Python, allowing users to test their knowledge in a specific programming
language.

Key Components:

1. Quizzes: This project features quizzes for each programming language, with a
set of questions, multiple-choice options, and correct answers.

2. GUI Elements: The graphical user interface (GUI) includes buttons, labels,
radio buttons, and panels arranged to create an intuitive user experience. The
interface transitions smoothly between different sections, such as the start
menu, quiz selection page, and quiz questions.

3. Event Handling: This application utilizes event listeners to respond to user


interactions, such as button clicks. This dynamic event handling ensures a
responsive and interactive user experience.

Advanced Java Programming Microproject Page | 4


4. Quiz Logic: This project incorporates logic for managing quiz state, checking
answers, and displaying results. Users progress through questions, and their
correct answers are tallied.

5. Educational Purpose: This Quiz App serves as an educational tool, allowing


users to test and enhance their knowledge of programming languages in a
gamified manner.
6. Technology: This application is developed in Java, leveraging the Swing
library for GUI components. It adheres to Java's platform independence,
making it suitable for various operating systems.

Flow of the Application:

 Start Menu: Users are welcomed with a start menu displaying the application
title and a "Start" button to initiate the quiz.

 Quiz Selection Page: Upon clicking "Start," users navigate to a quiz selection
page where they can choose quizzes in C, C++, Java, JavaScript, or Python.

 Quiz Questions: After selecting a quiz, users answer a series of multiple-


choice questions presented on the GUI.

 Result Display: At the end of the quiz, users receive feedback on their total
correct answers.

Advanced Java Programming Microproject Page | 5


5.Technology Used: -

1. Java Programming Language:


 Description: Java is a general-purpose, object-oriented programming
language known for its platform independence and versatility.
 Role in Project: Java serves as the core programming language for
developing the Quiz App, providing a robust and flexible foundation.

2. Swing Library:
 Description: Swing is a part of Java's Abstract Window Toolkit (AWT)
and provides a rich set of components for building graphical user
interfaces.
 Role in Project: Swing is extensively used to create GUI components
such as buttons, labels, radio buttons, and panels. It facilitates the
development of an interactive and user-friendly interface.

3. Java Event Handling:


 Description: Java provides a robust event-handling mechanism that
allows developers to respond to user actions, such as button clicks or
keypresses.
 Role in Project: Event listeners in Java are employed to handle user
interactions, ensuring dynamic responses to actions like starting the quiz,
selecting answers, and navigating through the application.

4. Swing Workers:

Advanced Java Programming Microproject Page | 6


 Description: Swing Workers are part of the Swing library and are used
for managing background tasks in a Swing application, ensuring the
responsiveness of the GUI.
 Role in Project: Swing Workers may be employed for handling
background tasks, providing a smooth user experience without freezing
the interface during lengthy operations.

7.Program code: -

//import statements
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class QuizApp extends JFrame {


// Class implementation...

private int currentQuestion = 0;


private int correctAnswers = 0;
// Questions, options, and correct answers for each quiz...
}

public QuizApp() {
showStartMenu();
setTitle("Quiz App");
setSize(600, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Advanced Java Programming Microproject Page | 7


setVisible(true);
}

private void showStartMenu() {


// GUI components for the start menu...
}

private void showQuizSelectionPage() {


// GUI components for the quiz selection page...
}

private class QuizButtonListener implements ActionListener {


// Implementation...
}

private void showQuizPage(String quizName) {


// GUI components for the quiz page...
}

private void displayQuestion(JLabel questionLabel, ButtonGroup optionGroup,


JRadioButton[] optionButtons, String quizName) {
// Displays the current question and options...
}

private void checkAnswer(JRadioButton[] optionButtons) {


// Checks the selected answer against the correct answer and updates the
correctAnswers count...
}

Advanced Java Programming Microproject Page | 8


private void showResult() {
// Displays the total correct answers, resets the quiz state, and shows the start menu
again...
}

private void resetQuizState() {


// Resets the current question and correct answers count...
}

public static void main(String[] args) {


// Launches the quiz application...
}

Advanced Java Programming Microproject Page | 9


7.Output:-

Start Menu

Quiz Selection Menu

Advanced Java Programming Microproject Page | 10


Question Panel

Marks Scored Window

Advanced Java Programming Microproject Page | 11


8.Conclusion:-
The Quiz App project represents a successful implementation of Java GUI
programming, offering an interactive and educational experience for users interested
in programming languages. The application's seamless transition between start menus,
quiz selections, and dynamic question-and-answer interfaces demonstrates the
versatility of Java's Swing library. By providing quizzes on C, C++, Java, JavaScript,
and Python, the project caters to a broad audience of learners. The incorporation of
event handling, quiz logic, and a user-friendly GUI enhances the overall educational
value. As a tool for reinforcing programming language knowledge in a gamified
manner, the Quiz App contributes to a more engaging and effective learning process.
Future developments could explore additional features, topics, and enhancements to
further enrich the educational impact of the application.

Advanced Java Programming Microproject Page | 12


9.References:-

1. Java Documentation:
 Official Java Documentation: The official documentation provides in-
depth information about the Java programming language, including
Swing and other relevant libraries.

2. Swing Documentation:
 Java Swing Tutorial: The Swing tutorial by Oracle offers comprehensive
guidance on building graphical user interfaces using Java's Swing
library.

3. Programming Language References:


 The questions, options, and correct answers in the quizzes are based on
fundamental concepts from programming languages like C, C++, Java,
JavaScript, and Python. These concepts were referred to from standard
programming language references and documentation.

Books that we referred:

Advanced Java Programming Microproject Page | 13

You might also like