0% found this document useful (0 votes)
40 views10 pages

Ajp Micro 1.2

D:\SEM 6\MOBILE APPLICATION DEVELOPMENT

Uploaded by

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

Ajp Micro 1.2

D:\SEM 6\MOBILE APPLICATION DEVELOPMENT

Uploaded by

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

Project Abstract

The Blogging Platform is a desktop application developed using Java Swing. It provides
basic interface for users to manage blog posts in a local environment. This application
allows users to create, view, and delete blog posts, making it an ideal solution for a basic
blogging tool or for educational purposes to understand core Java Swing concepts. The
application targets users who need a lightweight and intuitive blogging solution without the
complexity of server-side infrastructure or web-based technologies. It is particularly
suitable for educational purposes, offering a hands-on example of Java Swing's capabilities
and the principles of event-driven programming. By leveraging Java's Swing toolkit, this
project demonstrates how to build a responsive desktop application with essential crud
functionalities and a user-friendly layout.

1
CONTENT

 Objectives

 Create a User-Friendly Interface: Develop a straightforward graphical


user interface (GUI) that allows users to manage blog posts without
requiring complex interactions.

 Manage Blog Posts: Implement basic CRUD (Create, Read, Update,


Delete) functionalities to handle blog posts efficiently.

 Educational Tool: Serve as a practical example for learning Java Swing 


basic event-driven programming.

 Local data Management: Unlike web-based platforms that rely on server-side


databases, this application manages data locally using Java collections. This
approach simplifies development and demonstrates how to handle data in a
standalone environment.

 User Interaction: The GUI allows users to interact with the application
through a series of intuitive controls, including text fields for input and lists
for display. The interaction model is designed to be as simple as possible,
focusing on core functionalities without additional complexities.

 Educational Tool: The project serves as a practical learning tool for


developers and students interested in understanding Java Swing. It
provides a clear example how to implement a desktop application with
basic CRUD operations and event- driven programming.

2
CONTENT

 Technical details

 Language and Framework: Developed in Java using the Swing GUI toolkit
as desktop application environment.

 Data Storage: Blog posts are stored in memory using Java Array List and
Default List Model providing a simple, ephemeral storage solution.

 Event Handling: Utilizes Swing’s event-handling model to respond to user


such as adding or deleting posts and selecting items from the list.

 Benefits

 Educational Value: Demonstrates fundamental concepts of GUI


programming in Java, including event handling, component layout, and list
management.

 Extendable: Serves as a foundation that can be extended with additional


features such as saving posts to a file, adding user authentication, or
incorporating advanced text formatting

 Hands-On Experience: Users gain hands-on experience with Java’s Swing


toolkit and Java’s event-driven programming model. This project serves as a
foundational exercise for more advanced GUI development.

3
CONTENT

 CODE:

package blogging;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
public class SimpleBlogApp {
private static List<String> blogPosts = new ArrayList<>();
private static DefaultListModel<String> listModel = new DefaultListModel<>();
private static JList<String> postList = new JList<>(listModel);
private static JTextArea contentArea = new JTextArea(10, 30);
private static JTextField titleField = new JTextField(30);
public static void main(String[] args) {
SwingUtilities.invokeLater(SimpleBlogApp::createAndShowGUI);
private static void createAndShowGUI() {
JFrame frame = new JFrame("Simple Blog Application");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 400);
JPanel panel = new JPanel(); panel.setLayout(new
BorderLayout());
JPanel northPanel = new JPanel();
northPanel.add(new JLabel("Title:"));
northPanel.add(titleField);
JButton addButton = new JButton("Add Post");
JButton deleteButton = new JButton("Delete
Post"); northPanel.add(addButton);
northPanel.add(deleteButton);
panel.add(northPanel, BorderLayout.NORTH);
JPanel centerPanel = new JPanel(new
GridLayout(1, 2));
centerPanel.add(newJScrollPane(postList));
centerPanel.add(newJScrollPane(contentArea));
panel.add(centerPanel, BorderLayout.CENTER);

4
addButton.addActionListener(new AddPostAction());
deleteButton.addActionListener(new DeletePostAction());
postList.addListSelectionListener(e -> {
if (!e.getValueIsAdjusting()) {
int selectedIndex = postList.getSelectedIndex();
if (selectedIndex >= 0) {
contentArea.setText(blogPosts.get(selectedIndex));}}
});

frame.add(panel);
frame.setVisible(true);
}
private static class AddPostAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String title = titleField.getText();
String content = contentArea.getText();
if (!title.isEmpty() && !content.isEmpty()) {
blogPosts.add(content);
listModel.addElement(title);
titleField.setText("");
contentArea.setText("");
} else {
JOptionPane.showMessageDialog(null, "Title and content
cannot be empty", "Error", JOptionPane.ERROR_MESSAGE);}}}
private static class DeletePostAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
int selectedIndex = postList.getSelectedIndex();
if (selectedIndex >= 0) {
blogPosts.remove(selectedIndex);
listModel.remove(selectedIndex);
contentArea.setText("");
titleField.setText("");
} else {
JOptionPane.showMessageDialog(null, "No post selected to
delete","Errror”,JOptionPane.ERROR_MESSAGE);}}}

5
CONTENT

Output :

6
CONCLUSION

The Blogging Platform offers a compact yet functional introduction to Java Swing and
desktop application development. By focusing on essential functionalities and a clean
interface, this project provides a practical starting point for understanding GUI-based
applications and can be further expanded with additional features as needed. project
effectively demonstrates the core concepts of desktop application development using Java
Swing. By focusing on essential blogging functionalities—creating, viewing, and deleting
posts—this project provides a practical and accessible introduction to building graphical
user interfaces in Java. The Simple Blogging Platform successfully balances functionality
with ease of use, making it an excellent tool for learning and experimentation. It offers a clear
path to understanding Java Swing while providing a practical solution for local blog
management. Whether used as an educational exercise or a starting point for more advanced
applications, this project underscores the potential of desktop applications in delivering
effective and user- friendly software solutions.

7
WEEKLY PROGRESS REPORT
MICRO PROJECT
SR.NO. WEEK ACTIVITY PERFORMED SIGN OF GUIDE DATE

1 1st Discussion and finalization of topic

2 2nd Preparation and submission of Abstract

3 3rd Literature Review

4 4th Collection of Data

5 5th Collection of Data

6 6th Discussion and outline of Content

7 7th Formulation of Content

8 8th Editing and proof Reading

9 9th Compilation of Report And Presentation

10 10th Seminar

11 11th Viva voce

12 12th Final submission of Micro Project

Sign of the student Sign of the Faculty

8
REFERENCE:

 https://www.geeksforgeeks.org/

 https://www.w3schools.com/

 https://www.javatpoint.com/

SOURCES USED:

 Eclipse

 Online gdb

 VS code

9
ANEEXURE II

Evaluation Sheet for the Micro Project

Academic Year: 2024-25 Name of the Faculty: Prof.Tejal Pannad

Course:CO Course code: 22517 Semester: 5

Title of the project: Blogging Platform

Cos addressed by Micro Project:


A: Formulate efficient and correct java keywords and scripts.
B: Summarize system logs and processes to understand system performance.
C: Use relevant system commands and tools according to the context and task requirements.

Major learning outcomes achieved by students by doing the project :

(a) Practical outcome:


1) To develop a simple

(b) Unit outcomes in Cognitive domain:


1) use of basic java keywords

(c) Outcomes in Affective domain:


1) Function as team member
2) Follow Ethics

Comments/suggestions about team work /leadership/inter-personal communication (if any)

Marks out of 9 for Marks out of 6 for


performance in performance in oral/
group activity presentation
Roll No Student Name (D5 Col.8) (D5 Col.9) Total out of 15
03 Vedant Deepak Bhele
04 Sujal Sunil Bhosale
12 Tanmay Mukesh Ghanekar
17 Azad Gorakh Jadhav

(Signature of Faculty)
10

You might also like