A simple Java Swing-based Library Management System for managing books, issuing/returning books, and searching the library collection. This project demonstrates basic CRUD operations, file-based persistence, and a user-friendly GUI.
- Add, Delete, Issue, and Return Books
- Track Total Copies, Issued Copies, and Remaining Copies
- Search Books by Title
- Tabbed Interface for Viewing and Managing Books
- Persistent Storage using
library.dat
- Java JDK 8 or higher
- Open a terminal in the
Projectfolder. - Compile all Java files:
javac *.java - Run the application:
Or, if needed:
java LibraryAppjava -cp . LibraryApp
- All book data is stored in
library.datin theProjectfolder. - The app loads books from this file on startup and saves changes automatically.
Project/
Book.java # Book model class
BookTableModel.java # Table model for displaying books
DataStore.java # Handles saving/loading books to/from file
Library.java # Main library logic
LibraryApp.java # Application entry point (main window)
ManagePanel.java # Panel for adding, deleting, issuing, returning books
ViewPanel.java # Panel for viewing/searching books
library.dat # Serialized data file (auto-created)
- View/Search Tab:
- See all books in the library.
- Search by title using the search box.
- Columns: ID, Title, Author, Total Copies, Issued Copies, Remaining Copies.
- Manage Tab:
- Add a new book (ID, Title, Author, Total Copies).
- Delete a book by ID.
- Issue or return a book by ID.
This project is for educational purposes. Feel free to use and modify it for your own learning or projects.


