From e59eb2c66654635c9aecf1b134b9cd00e2c38ca0 Mon Sep 17 00:00:00 2001 From: SalmaRizzu Date: Mon, 8 Dec 2025 16:55:56 +0530 Subject: [PATCH] Major upgrade: delivery management, daily reporting, low-stock UI enhancement, UI improvements --- SQL/InventoryDB.sql | 18 +- src/com/inventory/DAO/CustomerDAO.class | Bin 0 -> 5079 bytes .../DAO/DeliveryDAO$DeliveryDetail.class | Bin 0 -> 1141 bytes src/com/inventory/DAO/DeliveryDAO.class | Bin 0 -> 5893 bytes src/com/inventory/DAO/DeliveryDAO.java | 208 ++++ src/com/inventory/DAO/ProductDAO.class | Bin 0 -> 16149 bytes src/com/inventory/DAO/ProductDAO.java | 117 +- src/com/inventory/DAO/ReportDAO.java | 166 +++ src/com/inventory/DAO/SupplierDAO.class | Bin 0 -> 4839 bytes src/com/inventory/DAO/UserDAO.class | Bin 0 -> 8017 bytes src/com/inventory/DAO/UserDAO.java | 111 +- src/com/inventory/DTO/CustomerDTO.class | Bin 0 -> 1467 bytes src/com/inventory/DTO/DeliveryDTO.java | 90 ++ src/com/inventory/DTO/ProductDTO.class | Bin 0 -> 2387 bytes src/com/inventory/DTO/ProductDTO.java | 26 +- src/com/inventory/DTO/SupplierDTO.class | Bin 0 -> 1467 bytes src/com/inventory/DTO/UserDTO.class | Bin 0 -> 1842 bytes src/com/inventory/DTO/UserDTO.java | 5 + .../Database/ConnectionFactory.class | Bin 0 -> 3493 bytes .../inventory/Database/ConnectionFactory.java | 162 +-- src/com/inventory/UI/CheckUsers.java | 24 + src/com/inventory/UI/CurrentStockPage$1.class | Bin 0 -> 688 bytes src/com/inventory/UI/CurrentStockPage.class | Bin 0 -> 4751 bytes src/com/inventory/UI/CurrentStockPage.java | 123 +- src/com/inventory/UI/CustomerPage$1.class | Bin 0 -> 664 bytes src/com/inventory/UI/CustomerPage$2.class | Bin 0 -> 664 bytes src/com/inventory/UI/CustomerPage$3.class | Bin 0 -> 664 bytes src/com/inventory/UI/CustomerPage$4.class | Bin 0 -> 664 bytes src/com/inventory/UI/CustomerPage$5.class | Bin 0 -> 633 bytes src/com/inventory/UI/CustomerPage$6.class | Bin 0 -> 626 bytes src/com/inventory/UI/CustomerPage.class | Bin 0 -> 10547 bytes src/com/inventory/UI/CustomerPage.java | 300 +++-- src/com/inventory/UI/Dashboard$1.class | Bin 0 -> 1234 bytes src/com/inventory/UI/Dashboard$10.class | Bin 0 -> 647 bytes src/com/inventory/UI/Dashboard$11.class | Bin 0 -> 647 bytes src/com/inventory/UI/Dashboard$12.class | Bin 0 -> 648 bytes src/com/inventory/UI/Dashboard$13.class | Bin 0 -> 648 bytes src/com/inventory/UI/Dashboard$2.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard$3.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard$4.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard$5.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard$6.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard$7.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard$8.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard$9.class | Bin 0 -> 646 bytes src/com/inventory/UI/Dashboard.class | Bin 0 -> 15281 bytes src/com/inventory/UI/Dashboard.java | 542 ++++++--- src/com/inventory/UI/Delivery.java | 167 +++ src/com/inventory/UI/DeliveryPage$1.class | Bin 0 -> 589 bytes src/com/inventory/UI/DeliveryPage.class | Bin 0 -> 13555 bytes src/com/inventory/UI/DeliveryPage.java | 369 ++++++ src/com/inventory/UI/DeliveryPage.java.backup | 167 +++ src/com/inventory/UI/DeliveryUI.java | 121 ++ src/com/inventory/UI/Diagnostic.java | 36 + src/com/inventory/UI/HomePage$1.class | Bin 0 -> 1408 bytes src/com/inventory/UI/HomePage$2.class | Bin 0 -> 1394 bytes src/com/inventory/UI/HomePage$3.class | Bin 0 -> 922 bytes src/com/inventory/UI/HomePage.class | Bin 0 -> 9984 bytes src/com/inventory/UI/HomePage.java | 80 +- src/com/inventory/UI/HomePageModern.java | 1020 +++++++++++++++++ src/com/inventory/UI/Icons/warehouse_bg.png | Bin 0 -> 625876 bytes src/com/inventory/UI/LoginPage$1.class | Bin 0 -> 646 bytes src/com/inventory/UI/LoginPage$2.class | Bin 0 -> 646 bytes src/com/inventory/UI/LoginPage$3.class | Bin 0 -> 646 bytes src/com/inventory/UI/LoginPage$4.class | Bin 0 -> 460 bytes src/com/inventory/UI/LoginPage.class | Bin 0 -> 8422 bytes src/com/inventory/UI/LoginPage.java | 51 +- src/com/inventory/UI/ProductPage$1.class | Bin 0 -> 658 bytes src/com/inventory/UI/ProductPage$2.class | Bin 0 -> 658 bytes src/com/inventory/UI/ProductPage$3.class | Bin 0 -> 658 bytes src/com/inventory/UI/ProductPage$4.class | Bin 0 -> 658 bytes src/com/inventory/UI/ProductPage$5.class | Bin 0 -> 658 bytes src/com/inventory/UI/ProductPage$6.class | Bin 0 -> 627 bytes src/com/inventory/UI/ProductPage$7.class | Bin 0 -> 658 bytes src/com/inventory/UI/ProductPage$8.class | Bin 0 -> 620 bytes src/com/inventory/UI/ProductPage.class | Bin 0 -> 13695 bytes src/com/inventory/UI/ProductPage.java | 401 ++++--- src/com/inventory/UI/PurchasePage$1.class | Bin 0 -> 664 bytes src/com/inventory/UI/PurchasePage$2.class | Bin 0 -> 626 bytes src/com/inventory/UI/PurchasePage$3.class | Bin 0 -> 664 bytes src/com/inventory/UI/PurchasePage$4.class | Bin 0 -> 664 bytes src/com/inventory/UI/PurchasePage$5.class | Bin 0 -> 664 bytes src/com/inventory/UI/PurchasePage$6.class | Bin 0 -> 633 bytes src/com/inventory/UI/PurchasePage$7.class | Bin 0 -> 664 bytes src/com/inventory/UI/PurchasePage$8.class | Bin 0 -> 626 bytes src/com/inventory/UI/PurchasePage.class | Bin 0 -> 13667 bytes src/com/inventory/UI/PurchasePage.java | 308 +++-- src/com/inventory/UI/SalesPage$1.class | Bin 0 -> 608 bytes src/com/inventory/UI/SalesPage$2.class | Bin 0 -> 608 bytes src/com/inventory/UI/SalesPage$3.class | Bin 0 -> 646 bytes src/com/inventory/UI/SalesPage$4.class | Bin 0 -> 646 bytes src/com/inventory/UI/SalesPage$5.class | Bin 0 -> 646 bytes src/com/inventory/UI/SalesPage$6.class | Bin 0 -> 646 bytes src/com/inventory/UI/SalesPage$7.class | Bin 0 -> 615 bytes src/com/inventory/UI/SalesPage$8.class | Bin 0 -> 608 bytes src/com/inventory/UI/SalesPage.class | Bin 0 -> 13186 bytes src/com/inventory/UI/SalesPage.java | 273 +++-- src/com/inventory/UI/StyleConstants.class | Bin 0 -> 1717 bytes src/com/inventory/UI/StyleConstants.java | 39 + src/com/inventory/UI/SupplierLogos/README.md | 28 + src/com/inventory/UI/SupplierLogos/apple.png | Bin 0 -> 1391 bytes src/com/inventory/UI/SupplierLogos/dell.png | Bin 0 -> 117371 bytes .../UI/SupplierLogos/hewlett-packard.png | Bin 0 -> 72474 bytes src/com/inventory/UI/SupplierLogos/hp.png | Bin 0 -> 119832 bytes src/com/inventory/UI/SupplierLogos/iworld.png | Bin 0 -> 14387 bytes .../inventory/UI/SupplierLogos/samsung.png | Bin 0 -> 55025 bytes src/com/inventory/UI/SupplierLogos/shelby.png | Bin 0 -> 8751 bytes src/com/inventory/UI/SupplierPage$1.class | Bin 0 -> 664 bytes src/com/inventory/UI/SupplierPage$2.class | Bin 0 -> 664 bytes src/com/inventory/UI/SupplierPage$3.class | Bin 0 -> 664 bytes src/com/inventory/UI/SupplierPage$4.class | Bin 0 -> 664 bytes src/com/inventory/UI/SupplierPage$5.class | Bin 0 -> 633 bytes src/com/inventory/UI/SupplierPage$6.class | Bin 0 -> 626 bytes src/com/inventory/UI/SupplierPage.class | Bin 0 -> 10627 bytes src/com/inventory/UI/SupplierPage.java | 275 +++-- src/com/inventory/UI/TableStyler$1.class | Bin 0 -> 1185 bytes src/com/inventory/UI/TableStyler.class | Bin 0 -> 2234 bytes src/com/inventory/UI/TableStyler.java | 98 ++ src/com/inventory/UI/UserLogsPage$1.class | Bin 0 -> 664 bytes src/com/inventory/UI/UserLogsPage$2.class | Bin 0 -> 626 bytes src/com/inventory/UI/UserLogsPage.class | Bin 0 -> 5105 bytes src/com/inventory/UI/UserLogsPage.java | 137 ++- src/com/inventory/UI/UsersPage$1.class | Bin 0 -> 646 bytes src/com/inventory/UI/UsersPage$2.class | Bin 0 -> 646 bytes src/com/inventory/UI/UsersPage$3.class | Bin 0 -> 646 bytes src/com/inventory/UI/UsersPage$4.class | Bin 0 -> 656 bytes src/com/inventory/UI/UsersPage$5.class | Bin 0 -> 615 bytes src/com/inventory/UI/UsersPage.class | Bin 0 -> 9939 bytes src/com/inventory/UI/UsersPage.java | 227 ++-- 129 files changed, 4588 insertions(+), 1101 deletions(-) create mode 100644 src/com/inventory/DAO/CustomerDAO.class create mode 100644 src/com/inventory/DAO/DeliveryDAO$DeliveryDetail.class create mode 100644 src/com/inventory/DAO/DeliveryDAO.class create mode 100644 src/com/inventory/DAO/DeliveryDAO.java create mode 100644 src/com/inventory/DAO/ProductDAO.class create mode 100644 src/com/inventory/DAO/ReportDAO.java create mode 100644 src/com/inventory/DAO/SupplierDAO.class create mode 100644 src/com/inventory/DAO/UserDAO.class create mode 100644 src/com/inventory/DTO/CustomerDTO.class create mode 100644 src/com/inventory/DTO/DeliveryDTO.java create mode 100644 src/com/inventory/DTO/ProductDTO.class create mode 100644 src/com/inventory/DTO/SupplierDTO.class create mode 100644 src/com/inventory/DTO/UserDTO.class create mode 100644 src/com/inventory/Database/ConnectionFactory.class create mode 100644 src/com/inventory/UI/CheckUsers.java create mode 100644 src/com/inventory/UI/CurrentStockPage$1.class create mode 100644 src/com/inventory/UI/CurrentStockPage.class create mode 100644 src/com/inventory/UI/CustomerPage$1.class create mode 100644 src/com/inventory/UI/CustomerPage$2.class create mode 100644 src/com/inventory/UI/CustomerPage$3.class create mode 100644 src/com/inventory/UI/CustomerPage$4.class create mode 100644 src/com/inventory/UI/CustomerPage$5.class create mode 100644 src/com/inventory/UI/CustomerPage$6.class create mode 100644 src/com/inventory/UI/CustomerPage.class create mode 100644 src/com/inventory/UI/Dashboard$1.class create mode 100644 src/com/inventory/UI/Dashboard$10.class create mode 100644 src/com/inventory/UI/Dashboard$11.class create mode 100644 src/com/inventory/UI/Dashboard$12.class create mode 100644 src/com/inventory/UI/Dashboard$13.class create mode 100644 src/com/inventory/UI/Dashboard$2.class create mode 100644 src/com/inventory/UI/Dashboard$3.class create mode 100644 src/com/inventory/UI/Dashboard$4.class create mode 100644 src/com/inventory/UI/Dashboard$5.class create mode 100644 src/com/inventory/UI/Dashboard$6.class create mode 100644 src/com/inventory/UI/Dashboard$7.class create mode 100644 src/com/inventory/UI/Dashboard$8.class create mode 100644 src/com/inventory/UI/Dashboard$9.class create mode 100644 src/com/inventory/UI/Dashboard.class create mode 100644 src/com/inventory/UI/Delivery.java create mode 100644 src/com/inventory/UI/DeliveryPage$1.class create mode 100644 src/com/inventory/UI/DeliveryPage.class create mode 100644 src/com/inventory/UI/DeliveryPage.java create mode 100644 src/com/inventory/UI/DeliveryPage.java.backup create mode 100644 src/com/inventory/UI/DeliveryUI.java create mode 100644 src/com/inventory/UI/Diagnostic.java create mode 100644 src/com/inventory/UI/HomePage$1.class create mode 100644 src/com/inventory/UI/HomePage$2.class create mode 100644 src/com/inventory/UI/HomePage$3.class create mode 100644 src/com/inventory/UI/HomePage.class create mode 100644 src/com/inventory/UI/HomePageModern.java create mode 100644 src/com/inventory/UI/Icons/warehouse_bg.png create mode 100644 src/com/inventory/UI/LoginPage$1.class create mode 100644 src/com/inventory/UI/LoginPage$2.class create mode 100644 src/com/inventory/UI/LoginPage$3.class create mode 100644 src/com/inventory/UI/LoginPage$4.class create mode 100644 src/com/inventory/UI/LoginPage.class create mode 100644 src/com/inventory/UI/ProductPage$1.class create mode 100644 src/com/inventory/UI/ProductPage$2.class create mode 100644 src/com/inventory/UI/ProductPage$3.class create mode 100644 src/com/inventory/UI/ProductPage$4.class create mode 100644 src/com/inventory/UI/ProductPage$5.class create mode 100644 src/com/inventory/UI/ProductPage$6.class create mode 100644 src/com/inventory/UI/ProductPage$7.class create mode 100644 src/com/inventory/UI/ProductPage$8.class create mode 100644 src/com/inventory/UI/ProductPage.class create mode 100644 src/com/inventory/UI/PurchasePage$1.class create mode 100644 src/com/inventory/UI/PurchasePage$2.class create mode 100644 src/com/inventory/UI/PurchasePage$3.class create mode 100644 src/com/inventory/UI/PurchasePage$4.class create mode 100644 src/com/inventory/UI/PurchasePage$5.class create mode 100644 src/com/inventory/UI/PurchasePage$6.class create mode 100644 src/com/inventory/UI/PurchasePage$7.class create mode 100644 src/com/inventory/UI/PurchasePage$8.class create mode 100644 src/com/inventory/UI/PurchasePage.class create mode 100644 src/com/inventory/UI/SalesPage$1.class create mode 100644 src/com/inventory/UI/SalesPage$2.class create mode 100644 src/com/inventory/UI/SalesPage$3.class create mode 100644 src/com/inventory/UI/SalesPage$4.class create mode 100644 src/com/inventory/UI/SalesPage$5.class create mode 100644 src/com/inventory/UI/SalesPage$6.class create mode 100644 src/com/inventory/UI/SalesPage$7.class create mode 100644 src/com/inventory/UI/SalesPage$8.class create mode 100644 src/com/inventory/UI/SalesPage.class create mode 100644 src/com/inventory/UI/StyleConstants.class create mode 100644 src/com/inventory/UI/StyleConstants.java create mode 100644 src/com/inventory/UI/SupplierLogos/README.md create mode 100644 src/com/inventory/UI/SupplierLogos/apple.png create mode 100644 src/com/inventory/UI/SupplierLogos/dell.png create mode 100644 src/com/inventory/UI/SupplierLogos/hewlett-packard.png create mode 100644 src/com/inventory/UI/SupplierLogos/hp.png create mode 100644 src/com/inventory/UI/SupplierLogos/iworld.png create mode 100644 src/com/inventory/UI/SupplierLogos/samsung.png create mode 100644 src/com/inventory/UI/SupplierLogos/shelby.png create mode 100644 src/com/inventory/UI/SupplierPage$1.class create mode 100644 src/com/inventory/UI/SupplierPage$2.class create mode 100644 src/com/inventory/UI/SupplierPage$3.class create mode 100644 src/com/inventory/UI/SupplierPage$4.class create mode 100644 src/com/inventory/UI/SupplierPage$5.class create mode 100644 src/com/inventory/UI/SupplierPage$6.class create mode 100644 src/com/inventory/UI/SupplierPage.class create mode 100644 src/com/inventory/UI/TableStyler$1.class create mode 100644 src/com/inventory/UI/TableStyler.class create mode 100644 src/com/inventory/UI/TableStyler.java create mode 100644 src/com/inventory/UI/UserLogsPage$1.class create mode 100644 src/com/inventory/UI/UserLogsPage$2.class create mode 100644 src/com/inventory/UI/UserLogsPage.class create mode 100644 src/com/inventory/UI/UsersPage$1.class create mode 100644 src/com/inventory/UI/UsersPage$2.class create mode 100644 src/com/inventory/UI/UsersPage$3.class create mode 100644 src/com/inventory/UI/UsersPage$4.class create mode 100644 src/com/inventory/UI/UsersPage$5.class create mode 100644 src/com/inventory/UI/UsersPage.class diff --git a/SQL/InventoryDB.sql b/SQL/InventoryDB.sql index f041e03..364734c 100644 --- a/SQL/InventoryDB.sql +++ b/SQL/InventoryDB.sql @@ -1,4 +1,4 @@ -CREATE DATABASE IF NOT EXISTS `inventory` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; +CREATE DATABASE IF NOT EXISTS `inventory` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; USE `inventory`; -- MySQL dump 10.13 Distrib 8.0.25, for Win64 (x86_64) -- @@ -28,7 +28,7 @@ CREATE TABLE `currentstock` ( `productcode` varchar(45) NOT NULL, `quantity` int NOT NULL, PRIMARY KEY (`productcode`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -55,7 +55,7 @@ CREATE TABLE `customers` ( `location` varchar(45) NOT NULL, `phone` varchar(45) NOT NULL, PRIMARY KEY (`cid`) -) ENGINE=InnoDB AUTO_INCREMENT=307 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=307 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -84,7 +84,7 @@ CREATE TABLE `products` ( `brand` varchar(45) NOT NULL, PRIMARY KEY (`pid`), UNIQUE KEY `productcode_UNIQUE` (`productcode`) -) ENGINE=InnoDB AUTO_INCREMENT=130 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=130 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -112,7 +112,7 @@ CREATE TABLE `purchaseinfo` ( `quantity` int NOT NULL, `totalcost` double NOT NULL, PRIMARY KEY (`purchaseID`) -) ENGINE=InnoDB AUTO_INCREMENT=1012 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1012 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -141,7 +141,7 @@ CREATE TABLE `salesinfo` ( `revenue` double NOT NULL, `soldby` varchar(45) NOT NULL, PRIMARY KEY (`salesid`) -) ENGINE=InnoDB AUTO_INCREMENT=2013 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2013 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -168,7 +168,7 @@ CREATE TABLE `suppliers` ( `location` varchar(45) NOT NULL, `mobile` varchar(10) NOT NULL, PRIMARY KEY (`sid`) -) ENGINE=InnoDB AUTO_INCREMENT=409 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=409 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -192,7 +192,7 @@ CREATE TABLE `userlogs` ( `username` varchar(45) NOT NULL, `in_time` varchar(45) NOT NULL, `out_time` varchar(45) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -221,7 +221,7 @@ CREATE TABLE `users` ( `password` varchar(200) NOT NULL, `usertype` varchar(45) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- diff --git a/src/com/inventory/DAO/CustomerDAO.class b/src/com/inventory/DAO/CustomerDAO.class new file mode 100644 index 0000000000000000000000000000000000000000..c16fb4f36aa8b3b773f68aa126d54e12e5795db1 GIT binary patch literal 5079 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 C#`v`W literal 0 HcmV?d00001 diff --git a/src/com/inventory/DAO/DeliveryDAO$DeliveryDetail.class b/src/com/inventory/DAO/DeliveryDAO$DeliveryDetail.class new file mode 100644 index 0000000000000000000000000000000000000000..d1856e6345d6e5cc5832f3facd706d2dc4f74959 GIT binary patch literal 1141 zcmb`H*>4h26vn^HHbAE>rHj(ds$F18JMLTS(zKe8SgILgf<8^*N~Xe4X9kk~D?a+- zt0tnxL?3TP^t-tl7Rj*uw@5QVEF!?-LXyoMZ;8qH6~Qs ze$Z-4uWUD&knJTjY`1P&f#k2qb&M%9uFQloCosy=kbVfaH&nwl9oKO~!_%JeJQJA6 zmkNEfjxva=?=-!u!YaqV+uRSxn4O;p%>45ZIL(Wk;pAK-#_ xP{afJvy3bua)@mRjmt$f%<(G@xl9;{9R)P*9O2HY*;!nsrkOH`3;e4|{QwS;_PGE6 literal 0 HcmV?d00001 diff --git a/src/com/inventory/DAO/DeliveryDAO.class b/src/com/inventory/DAO/DeliveryDAO.class new file mode 100644 index 0000000000000000000000000000000000000000..6a0d4611e20c95937c14755e454061f55319e90f GIT binary patch literal 5893 zcmd^DYjBk16@K1i_xrx=exNQ%WbyVXiV1`SrBYmw7)XG%n*`WI0YzPQKjXq?ci9V) zwpP4V(bi(|My<7XT1%}rLL+U{Urg&vr_-7Kw*A?$Go9&7f3-8x=X{sFB!TJpw=>Cm zJ?FgVJ?A;+yx)HG>4(1o@HzZCgxfH#jYehYe&6958S&1QR(CF)3Sl9fc5K6O%2+WR5qtz#`Af*v?Z4+m+i7bAYI7k6*>|JQioH04U?mq9egkcaM&*>G(PgrQ-!!NTDs6oyeyu z)e?``wy>y;iF9GIFPlGX=PQNMRNvshXkSf@fzcalW9R-GHu30AD(fw0?egZSfeG@) zGYU();tQ**;~NUwFS7d?Gzh0M8DBAl68nIHPox8d&Dxpzk_g;livQRCh?X6ky+vUC>nyptLU?K*ZsB4ZI zRM~C-$JSI@>}}#jeAC2w+^(?1!BDfO75<(aN(^lovogII4~h?DGd+z{xsWWRtK~{z z(k?xaPfc>6*jp?WGSzg&omP9Lw+50{O8n&!HApQxwrCPm_Tgh~-8DLF`3hJWD?TzZ zw9C3{G(KW^rs!J>rm#*5I&FDB`;w8LH6q|Sj zuM)>5Uc*U+o;e1+BuW*+zN(aM;#+u~0aIHNdztt)-r!=B%}jg;Z<4veZuEEET#VeB z5Z77?k(z{>u>=F(HSs-s-^33D4X$GyAdNj-Dm)@FZ{mme5d*)LHT{*Ulv-LrjY*AOvThgrXgckvz*l8N{6fuQV+f;GpM5+F_1RCp;qk{sGK zMj(%k`dd?0S0mVaEbkb`kRPgEZ2D6_#%iE(W3x7`VW``>dmu4Bl(f3~do1_w<{frk zTz#{%FfyJ8i%XU3R&et0ZkME~`=QDA~nS$<8F}9E)n3gOsA6v#3ewZm7BQs<|7-&CARQ z>5@$m4YE7^QY)mjbtVGSK4Pb<6?YfxQJBAYOz?d`9O2tBn>ClvhM~F*nqd>RGCoX8Fq=O)qBll3w=BI zln~3;9h?7;?+9hpr&sRbr7I`r-?mWyKhzo+V<)O)9WeV5xTjDl;XefSI@Rh_-kYhfw*ly%(Em}DOmaIGr zwelQV_MAoQGy-Q3eAi*SgY9Ax0kYf>dS`Z7Wm=@)7Sm7kb&%xXi4MrBtU~vmLxNHWOJA*4`5OD@e{6V`v z=7k7`12)hTSQt*+;)PF?ib zm?2CzH8XX_+Q`)AFois(s4=_xJa$I|=dpD446YX8cg2FyKs4ykZSogy<6 z9Lt+HI$~jRgdL7Hmm?aQJq2szJzRSZ*U@}dn6$x}wvM(j|#k)%}MZM0vYU|q+6j?Fr@=or*7q+=^v;6J!G z$w4^IW;_2cpaX3S(+a&3TI~Yw5u8H=?36u`;mTQp@H`UgQ{52o` znh$?1;=x~wc<|RE9{jb42Y)S6hriJiHGKFJ`TL@}z@Mjh@He8m5IFGnSJxBu26ZuJ z1?U3*CZ^6N>?a!yv8_wJQwh z;9-IwOCTS>eK^RS9P*gNBWxc>5zpcf^(s*dn_86c2`W52#gi&3j>9~uqDD|v2XVv+ zh4&>C`d|=q#IYL-3F7fmu@JflaSg^!FlckBfO%16&Zpt+o8<)RG;Tax>&3$`<6(pm z?-UXBSJnsC0DKhbi3KGPByCD0xS;nVK?`2(hJ>aGh*mQ=G@UWiD}x#IDSkidfl~;y zt}~jE>EKNgvtCQgWZ-Itak>uY(1J{1GPyaI`wkP6ZcJ+c+Zq8Iaa_;2t*2>-G5+** zKS9t=r&qlGQQq7;UvI$BIf$s!A@O_2-rqH@5CfJF>*^R;CP$P6mPo~KEQe}9t{Rr z07EQgx1NNq=vB|tLCs5y#7Lvd_2ydaxtu`oGMH0~#pU|xdI4`+kcp12WiXyXCT6f$ zu)*bP#pSHsb6ma$4>IP(<)fJL`X_kR7npfo<9vz^lzD( getAllDeliveryDetails() { + ArrayList deliveryList = new ArrayList<>(); + + String query = "SELECT d.delivery_id, d.delivery_date, d.customer_name, " + + "p.productname, u.name AS agent_name, d.delivery_status, d.customer_signature " + + "FROM delivery d " + + "INNER JOIN products p ON d.inventory_id = p.pid " + + "INNER JOIN users u ON d.user_id = u.id"; + + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(query)) { + + while (rs.next()) { + DeliveryDetail detail = new DeliveryDetail( + rs.getInt("delivery_id"), + rs.getDate("delivery_date"), + rs.getString("customer_name"), + rs.getString("productname"), + rs.getString("agent_name"), + rs.getString("delivery_status"), + rs.getString("customer_signature") + ); + deliveryList.add(detail); + } + + } catch (SQLException e) { + System.err.println("Error loading all deliveries: " + e.getMessage()); + } + + return deliveryList; + } + + // --- Load deliveries for specific delivery agent --- + public ArrayList getDeliveriesByAgentId(int agentId) { + ArrayList deliveryList = new ArrayList<>(); + + String query = "SELECT d.delivery_id, d.delivery_date, d.customer_name, " + + "p.productname, u.name AS agent_name, d.delivery_status, d.customer_signature " + + "FROM delivery d " + + "INNER JOIN products p ON d.inventory_id = p.pid " + + "INNER JOIN users u ON d.user_id = u.id " + + "WHERE d.user_id = ?"; + + try (PreparedStatement ps = conn.prepareStatement(query)) { + + ps.setInt(1, agentId); + + try (ResultSet rs = ps.executeQuery()) { + while (rs.next()) { + DeliveryDetail detail = new DeliveryDetail( + rs.getInt("delivery_id"), + rs.getDate("delivery_date"), + rs.getString("customer_name"), + rs.getString("productname"), + rs.getString("agent_name"), + rs.getString("delivery_status"), + rs.getString("customer_signature") + ); + deliveryList.add(detail); + } + } + + } catch (SQLException e) { + System.err.println("Error loading agent deliveries: " + e.getMessage()); + } + + return deliveryList; + } + + // --- Add new delivery --- + public boolean addDelivery(int inventoryId, int agentId, String customerName, Date deliveryDate) { + String query = "INSERT INTO delivery (inventory_id, user_id, delivery_date, delivery_status, customer_name, customer_signature) " + + "VALUES (?, ?, ?, 'Pending', ?, NULL)"; + + try (PreparedStatement ps = conn.prepareStatement(query)) { + + ps.setInt(1, inventoryId); + ps.setInt(2, agentId); + ps.setDate(3, deliveryDate); + ps.setString(4, customerName); + + return ps.executeUpdate() > 0; + + } catch (SQLException e) { + System.err.println("Error adding delivery: " + e.getMessage()); + return false; + } + } + + // --- Update delivery status --- + public boolean updateDeliveryStatus(int deliveryId, String newStatus, String signature) { + String query = "UPDATE delivery SET delivery_status = ?, customer_signature = ? WHERE delivery_id = ?"; + + try (PreparedStatement ps = conn.prepareStatement(query)) { + + ps.setString(1, newStatus); + ps.setString(2, (signature == null || signature.isEmpty()) ? null : signature); + ps.setInt(3, deliveryId); + + return ps.executeUpdate() > 0; + + } catch (SQLException e) { + System.err.println("Error updating delivery status: " + e.getMessage()); + return false; + } + } + + // --- Get count of pending deliveries for daily summary --- + public int getPendingDeliveriesCount() { + String query = "SELECT COUNT(*) FROM delivery WHERE delivery_status IN ('Pending', 'In Transit')"; + + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(query)) { + + if (rs.next()) { + return rs.getInt(1); + } + + } catch (SQLException e) { + System.err.println("Error counting pending deliveries: " + e.getMessage()); + } + + return 0; + } + + // --- Get list of pending deliveries for details view --- + public ArrayList getPendingDeliveriesList() { + ArrayList list = new ArrayList<>(); + String query = "SELECT d.delivery_id, d.delivery_date, d.customer_name, p.productname, u.name AS agent_name, d.delivery_status " + + "FROM delivery d " + + "INNER JOIN products p ON d.inventory_id = p.pid " + + "INNER JOIN users u ON d.user_id = u.id " + + "WHERE d.delivery_status IN ('Pending', 'In Transit')"; + + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(query)) { + + while (rs.next()) { + String item = String.format("ID: %d | Date: %s | Product: %s | Customer: %s | Agent: %s | Status: %s", + rs.getInt("delivery_id"), + rs.getDate("delivery_date"), + rs.getString("productname"), + rs.getString("customer_name"), + rs.getString("agent_name"), + rs.getString("delivery_status")); + list.add(item); + } + + } catch (SQLException e) { + System.err.println("Error loading pending deliveries list: " + e.getMessage()); + } + + return list; + } +} diff --git a/src/com/inventory/DAO/ProductDAO.class b/src/com/inventory/DAO/ProductDAO.class new file mode 100644 index 0000000000000000000000000000000000000000..70f7afd3fa482545a6ec0a4a0e32375cf7695ca9 GIT binary patch literal 16149 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 Pxs+$; getLowStockProducts() { + List lowStockList = new ArrayList<>(); + + String sql = "SELECT c.productcode, c.quantity, p.productname " + + "FROM currentstock c JOIN products p ON c.productcode = p.productcode " + + "WHERE c.quantity < 20"; + + // PreparedStatement ps = conn.prepareStatement(query); + // ResultSet rs = ps.executeQuery(); + + try (Connection conn = ConnectionFactory.getConnection(); + PreparedStatement stmt = conn.prepareStatement(sql); + ResultSet rs = stmt.executeQuery()) { + + while (rs.next()) { + String pname = rs.getString("productname"); + int qty = rs.getInt("quantity"); + lowStockList.add(pname + " (Qty: " + qty + ")"); + } + + } catch (Exception e) { + e.printStackTrace(); + } + + return lowStockList; +} + public ProductDAO() { try { conn = new ConnectionFactory().getConn(); @@ -340,6 +370,25 @@ public void deleteProductDAO(String code) { public void deletePurchaseDAO(int ID){ try { + // 1. Get product code and quantity before deleting + String getQuery = "SELECT productcode, quantity FROM purchaseinfo WHERE purchaseID=?"; + prepStatement = conn.prepareStatement(getQuery); + prepStatement.setInt(1, ID); + resultSet = prepStatement.executeQuery(); + + if (resultSet.next()) { + String prodCode = resultSet.getString("productcode"); + int quantity = resultSet.getInt("quantity"); + + // 2. Decrease stock (Reverse the purchase) + String stockQuery = "UPDATE currentstock SET quantity=quantity-? WHERE productcode=?"; + PreparedStatement stockStmt = conn.prepareStatement(stockQuery); + stockStmt.setInt(1, quantity); + stockStmt.setString(2, prodCode); + stockStmt.executeUpdate(); + } + + // 3. Delete the transaction String query = "DELETE FROM purchaseinfo WHERE purchaseID=?"; prepStatement = conn.prepareStatement(query); prepStatement.setInt(1, ID); @@ -354,6 +403,25 @@ public void deletePurchaseDAO(int ID){ public void deleteSaleDAO(int ID) { try { + // 1. Get product code and quantity before deleting + String getQuery = "SELECT productcode, quantity FROM salesinfo WHERE salesID=?"; + prepStatement = conn.prepareStatement(getQuery); + prepStatement.setInt(1, ID); + resultSet = prepStatement.executeQuery(); + + if (resultSet.next()) { + String prodCode = resultSet.getString("productcode"); + int quantity = resultSet.getInt("quantity"); + + // 2. Increase stock (Reverse the sale) + String stockQuery = "UPDATE currentstock SET quantity=quantity+? WHERE productcode=?"; + PreparedStatement stockStmt = conn.prepareStatement(stockQuery); + stockStmt.setInt(1, quantity); + stockStmt.setString(2, prodCode); + stockStmt.executeUpdate(); + } + + // 3. Delete the transaction String query = "DELETE FROM salesinfo WHERE salesID=?"; prepStatement = conn.prepareStatement(query); prepStatement.setInt(1, ID); @@ -411,27 +479,30 @@ public ResultSet getQueryResult() { } // Purchase table data set retrieval - public ResultSet getPurchaseInfo() { - try { - String query = "SELECT PurchaseID,purchaseinfo.ProductCode,ProductName,Quantity,Totalcost " + - "FROM purchaseinfo INNER JOIN products " + - "ON products.productcode=purchaseinfo.productcode ORDER BY purchaseid;"; - resultSet = statement.executeQuery(query); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - return resultSet; + public ResultSet getPurchaseInfo() { + try { + String query = + "SELECT p.PurchaseID, p.ProductCode, pr.ProductName, p.Quantity, p.Totalcost " + + "FROM purchaseinfo p " + + "INNER JOIN products pr ON pr.productcode = p.productcode " + + "ORDER BY p.PurchaseID"; + + resultSet = statement.executeQuery(query); + + } catch (SQLException throwables) { + throwables.printStackTrace(); } + return resultSet; +} + // Stock table data set retrieval public ResultSet getCurrentStockInfo() { try { - String query = """ - SELECT currentstock.ProductCode,products.ProductName, - currentstock.Quantity,products.CostPrice,products.SellPrice - FROM currentstock INNER JOIN products - ON currentstock.productcode=products.productcode; - """; + String query = "SELECT currentstock.ProductCode,products.ProductName," + + "currentstock.Quantity,products.CostPrice,products.SellPrice " + + "FROM currentstock INNER JOIN products " + + "ON currentstock.productcode=products.productcode;"; resultSet = statement.executeQuery(query); } catch (SQLException throwables) { throwables.printStackTrace(); @@ -442,14 +513,12 @@ public ResultSet getCurrentStockInfo() { // Sales table data set retrieval public ResultSet getSalesInfo() { try { - String query = """ - SELECT salesid,salesinfo.productcode,productname, - salesinfo.quantity,revenue,users.name AS Sold_by - FROM salesinfo INNER JOIN products - ON salesinfo.productcode=products.productcode - INNER JOIN users - ON salesinfo.soldby=users.username; - """; + String query = "SELECT salesid,salesinfo.productcode,productname," + + "salesinfo.quantity,revenue,users.name AS Sold_by " + + "FROM salesinfo INNER JOIN products " + + "ON salesinfo.productcode=products.productcode " + + "INNER JOIN users " + + "ON salesinfo.soldby=users.username;"; resultSet = statement.executeQuery(query); } catch (SQLException throwables) { throwables.printStackTrace(); diff --git a/src/com/inventory/DAO/ReportDAO.java b/src/com/inventory/DAO/ReportDAO.java new file mode 100644 index 0000000..defd1be --- /dev/null +++ b/src/com/inventory/DAO/ReportDAO.java @@ -0,0 +1,166 @@ +package com.inventory.DAO; + +import com.inventory.Database.ConnectionFactory; +import java.sql.*; + +/** + * DAO for generating summary reports and statistics. + */ +public class ReportDAO { + + private Connection conn; + + public ReportDAO() { + conn = new ConnectionFactory().getConn(); + } + + /** + * Get count of new consignments (purchases) added today. + * @return count of purchases from today + */ + public int getTodayConsignmentsCount() { + String query = "SELECT COUNT(*) FROM purchaseinfo WHERE DATE(date) = CURDATE()"; + + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(query)) { + + if (rs.next()) { + return rs.getInt(1); + } + + } catch (SQLException e) { + System.err.println("Error counting today's consignments: " + e.getMessage()); + } + + return 0; + } + + /** + * Get list of new consignments (purchases) added today. + * @return list of strings describing today's purchases + */ + public java.util.List getTodayConsignmentsList() { + java.util.List list = new java.util.ArrayList<>(); + String query = "SELECT p.PurchaseID, pr.ProductName, p.Quantity, p.Totalcost, s.fullname " + + "FROM purchaseinfo p " + + "INNER JOIN products pr ON p.productcode = pr.productcode " + + "INNER JOIN suppliers s ON p.suppliercode = s.suppliercode " + + "WHERE DATE(p.date) = CURDATE()"; + + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(query)) { + + while (rs.next()) { + String item = String.format("ID: %d | Product: %s | Qty: %d | Cost: %.2f | Supplier: %s", + rs.getInt("PurchaseID"), + rs.getString("ProductName"), + rs.getInt("Quantity"), + rs.getDouble("Totalcost"), + rs.getString("fullname")); + list.add(item); + } + + } catch (SQLException e) { + System.err.println("Error listing today's consignments: " + e.getMessage()); + } + + return list; + } + + /** + * Get count of deliveries added today. + * @return count of deliveries from today + */ + public int getTodayDeliveriesCount() { + String query = "SELECT COUNT(*) FROM delivery WHERE DATE(delivery_date) = CURDATE()"; + + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(query)) { + + if (rs.next()) { + return rs.getInt(1); + } + + } catch (SQLException e) { + System.err.println("Error counting today's deliveries: " + e.getMessage()); + } + + return 0; + } + + /** + * Get count of sales made today. + * @return count of sales from today + */ + public int getTodaySalesCount() { + String query = "SELECT COUNT(*) FROM salesinfo WHERE DATE(date) = CURDATE()"; + + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(query)) { + + if (rs.next()) { + return rs.getInt(1); + } + + } catch (SQLException e) { + System.err.println("Error counting today's sales: " + e.getMessage()); + } + + return 0; + } + + /** + * Get daily summary data. + */ + public DailySummary getDailySummary() { + ProductDAO productDAO = new ProductDAO(); + DeliveryDAO deliveryDAO = new DeliveryDAO(); + + int lowStockCount = productDAO.getLowStockProducts().size(); + int pendingDeliveriesCount = deliveryDAO.getPendingDeliveriesCount(); + int newConsignmentsCount = getTodayConsignmentsCount(); + int todayDeliveriesCount = getTodayDeliveriesCount(); + int todaySalesCount = getTodaySalesCount(); + + return new DailySummary(lowStockCount, pendingDeliveriesCount, newConsignmentsCount, todayDeliveriesCount, todaySalesCount); + } + + /** + * Inner class to hold daily summary data. + */ + public static class DailySummary { + private int lowStockCount; + private int pendingDeliveriesCount; + private int newConsignmentsCount; + private int todayDeliveriesCount; + private int todaySalesCount; + + public DailySummary(int lowStockCount, int pendingDeliveriesCount, int newConsignmentsCount, int todayDeliveriesCount, int todaySalesCount) { + this.lowStockCount = lowStockCount; + this.pendingDeliveriesCount = pendingDeliveriesCount; + this.newConsignmentsCount = newConsignmentsCount; + this.todayDeliveriesCount = todayDeliveriesCount; + this.todaySalesCount = todaySalesCount; + } + + public int getLowStockCount() { + return lowStockCount; + } + + public int getPendingDeliveriesCount() { + return pendingDeliveriesCount; + } + + public int getNewConsignmentsCount() { + return newConsignmentsCount; + } + + public int getTodayDeliveriesCount() { + return todayDeliveriesCount; + } + + public int getTodaySalesCount() { + return todaySalesCount; + } + } +} diff --git a/src/com/inventory/DAO/SupplierDAO.class b/src/com/inventory/DAO/SupplierDAO.class new file mode 100644 index 0000000000000000000000000000000000000000..989033a35b0a98377a7be4ffa43d1b05dbe6c5e7 GIT binary patch literal 4839 zcmbtY`F9i775+w+J!5&yBJ6+(0R;kHuu%fRA=uy=TP{u{%UHs$DHO)iU<^PmZ*6g;lr!wQ~I@T7vLWPHQ}zi{MfVc{9^ z@lhEc^AOm_#mpya@JW1144^p~nh|Ou9otb-th#^pu`1NT@5xMC@6L)Mj&f)|rs7t|T_d6)mU7omHVR zr{{~wLPVdhamb#fNL6Pdoha;;P|?&pOc#4Hab3dlU?Qy#6jNh*E~&=}E%KePy`ayVt8X&VCbjgqKT^mg(&JP|C&u-{fuf$9F>y(_p{cnP zml9Yen5HNk(Y0J`!j^7YO6^kn8HBuE=*gtUGX2a`UcxSGt4L+Zj%j?_pP!|tXOvm)BNIq3nM-t;{tx(J{*1`W#ZRg_n>}86Vj};TixRE!* zx`d85VW1%LZhK$aOxM36LEo$+VWz_cW?_0WZp!RdErQ2&vK6J<#h* zW@4I1kyxJ-^UKWnRA!9G#q3LBR^rQLT$1rk6))ougQVgWd`rSj(TPOfvFg*3IbDm- z`1I*SzL4K0Y(pxwE%ZnakJwXBcJzlN!VmFz!%pGS|XXJ=}FzRUChSW*y1$U(#vGf z;F77Br;_n}9Y2z=*3s)g$?2)gq@ixFmD}>2t&ab#PV!oPruPf%N?28*jl(DjqyL}U zB_iYt_TL@wHEw2a+T7?14>_JKTCn+8TBtL3SO^?NuFZ`kso{UIkVyK6d5&brcg5DA z;>Y-jil5?V5`04LzjY*0uRmAu3;dGBt>Ra>qT<*1jf~%__#J-Fo~_~!_@jzH;m=HV zxw`8#3Zd~Yu^3!16foo=e{yEHc8Doj^=&_I81?Pz~FFI?Mhfu*d8KXHZ#zt7BWwUxZE}`xE zr^@0kMO6#qH2>J-fk`}lEZYJ0Dqat4Ol7*LL#<@%H;z%>0@C_46TvINA*;38+_@`k99V;z(7G}|k(mmypJ?NHZ$e9E#@T)>+}c!u z9X*w$`E;S9>|ippY#iJx#BGLmmNG|fy?)q4o|d}g2+*QQm^YUaDHh3!8x}>4i-SmN zf0MFh^S_ywL=v5?Sc1++X8WiFU4kFmkcyzY1Lw}zYl zdFS8=aqTdkym=T;UOxD&29G`TbG(aR&!7S>K08}3LTZs-gi8z+VsMM0vgIP!t09GIjnZk?Mi-B&S8y&r=d#ThD%sWAT88&BcGvG3lMM^ zM;$=h`6CNxK`pitQX5_N^ViR94Dogh5Y7m8QhpbAwBs0I#c`(v%KZjLWE{8(_dW|0 zFFF>emn~3Z-gSnLF8X+r@X<{l-EO+HehwQdAigRESm&#XUtZ@+=2xBbH3y%B5y^YA ziL4CKD1Ee3WFqRM2YaxR*_w2?X;Bu_taMM$1e-d7Lv;(CMx(nubWrfRtUiNh9@ z$P!RCUI$9ac>$&5yns@2UO*{J%F527&FdmDoWf4AEFwaTtp@c06yLC|&l-ENlNTK*vc z80YQ@&Y$E;0`)jS2a>k2sEoIX>Ker%%h)-J3&>#`a*GX_=@4bM+{?N!U)t=KZG2f= zU3LwXyxT|i*x@j}%dvKf+U}%X8>3v7DB<@$U_l4OJ$x z*Dj-Tw4t)?BKDN9?Zt9B_8>X-5Z}&VHO>;>!wm0P?8YN3;YW$}F;e>+p*@ZipLsli zd+;Rg#ZyKc+E8_kExL+*S4K=moFS3Os;k&w#^+zC6H`~Q_9`P(ij@T2h}QA{0EQ#n A^Z)<= literal 0 HcmV?d00001 diff --git a/src/com/inventory/DAO/UserDAO.class b/src/com/inventory/DAO/UserDAO.class new file mode 100644 index 0000000000000000000000000000000000000000..990190bf249bf0caa149a9688a3eb972a65c034c GIT binary patch literal 8017 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 literal 0 HcmV?d00001 diff --git a/src/com/inventory/DAO/UserDAO.java b/src/com/inventory/DAO/UserDAO.java index cf2752c..0a7a343 100644 --- a/src/com/inventory/DAO/UserDAO.java +++ b/src/com/inventory/DAO/UserDAO.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package com.inventory.DAO; import com.inventory.DTO.UserDTO; @@ -12,6 +7,8 @@ import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.sql.*; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.Vector; @@ -31,6 +28,7 @@ public class UserDAO { // Constructor method public UserDAO() { try { + // Assumes ConnectionFactory().getConn() establishes a database connection conn = new ConnectionFactory().getConn(); statement = conn.createStatement(); } catch (SQLException ex) { @@ -38,10 +36,43 @@ public UserDAO() { } } + /** + * Retrieves a list of users based on their role (e.g., "Delivery Agent"). + * This method is required by DeliveryPage.java. + * * @param role The role to search for (e.g., "Delivery Agent"). + * @return A List of UserDTO objects matching the role. + */ + public List getUsersByRole(String role) { + List userList = new ArrayList<>(); + + // 🔥 Case-insensitive role match + String sql = "SELECT id, name, username, usertype FROM users WHERE LOWER(usertype) = LOWER(?)"; + + try (PreparedStatement ps = conn.prepareStatement(sql)) { + + ps.setString(1, role.trim()); // match "Employee", "EMPLOYEE", "employee" + + try (ResultSet rs = ps.executeQuery()) { + while (rs.next()) { + UserDTO user = new UserDTO(); + user.setID(rs.getInt("id")); + user.setFullName(rs.getString("name")); // FIX 1: corrected column + user.setUsername(rs.getString("username")); + user.setUserType(rs.getString("usertype")); + + userList.add(user); + } + } + } catch (SQLException e) { + System.err.println("Error fetching users by role(UserDAO): " + e.getMessage()); + } + return userList; +} // Methods to add new user public void addUserDAO(UserDTO userDTO, String userType) { try { + // Check if user already exists based on name, location, phone, and usertype String query = "SELECT * FROM users WHERE name='" +userDTO.getFullName() +"' AND location='" @@ -60,11 +91,14 @@ public void addUserDAO(UserDTO userDTO, String userType) { ex.printStackTrace(); } } + + // Helper function to handle the actual insertion public void addFunction(UserDTO userDTO, String userType) { try { String username = null; String password = null; - String oldUsername = null; + + // Logic for default username/password (root) if no users exist String resQuery = "SELECT * FROM users"; resultSet = statement.executeQuery(resQuery); @@ -72,18 +106,7 @@ public void addFunction(UserDTO userDTO, String userType) { username = "root"; password = "root"; } -// else { -// String resQuery2 = "SELECT * FROM users ORDER BY id DESC"; -// resultSet = statement.executeQuery(resQuery2); -// -// if(resultSet.next()){ -// oldUsername = resultSet.getString("username"); -// Integer uCode = Integer.parseInt(oldUsername.substring(4)); -// uCode++; -// username = "user" + uCode; -// password = "user" + uCode; -// } -// } + // Note: Original logic for auto-generating username like "userXXX" is commented out String query = "INSERT INTO users (name,location,phone,username,password,usertype) " + "VALUES(?,?,?,?,?,?)"; @@ -91,8 +114,11 @@ public void addFunction(UserDTO userDTO, String userType) { prepStatement.setString(1, userDTO.getFullName()); prepStatement.setString(2, userDTO.getLocation()); prepStatement.setString(3, userDTO.getPhone()); - prepStatement.setString(4, userDTO.getUsername()); - prepStatement.setString(5, userDTO.getPassword()); + + // Use provided username/password if available, otherwise use default "root" for first user + prepStatement.setString(4, userDTO.getUsername() != null ? userDTO.getUsername() : username); + prepStatement.setString(5, userDTO.getPassword() != null ? userDTO.getPassword() : password); + prepStatement.setString(6, userDTO.getUserType()); prepStatement.executeUpdate(); @@ -135,10 +161,12 @@ public void deleteUserDAO(String username) { } catch (SQLException throwables) { throwables.printStackTrace(); } - new UsersPage().loadDataSet(); + // Note: Instantiating UsersPage here might lead to issues if it's not handled correctly + // but keeping it as per the original code structure. + // new UsersPage().loadDataSet(); } - // Method to retrieve data set to display in table + // Method to retrieve all users for display in table public ResultSet getQueryResult() { try { String query = "SELECT * FROM users"; @@ -149,6 +177,7 @@ public ResultSet getQueryResult() { return resultSet; } + // Method to get a single user by username public ResultSet getUserDAO(String username) { try { String query = "SELECT * FROM users WHERE username='" +username+ "'"; @@ -158,18 +187,21 @@ public ResultSet getUserDAO(String username) { } return resultSet; } + + // Method to retrieve and set the full name for a UserDTO public void getFullName(UserDTO userDTO, String username) { try { - String query = "SELECT * FROM users WHERE username='" +username+ "' LIMIT 1"; + String query = "SELECT name FROM users WHERE username='" +username+ "' LIMIT 1"; resultSet = statement.executeQuery(query); String fullName = null; - if(resultSet.next()) fullName = resultSet.getString(2); + if(resultSet.next()) fullName = resultSet.getString(1); // Assuming 'name' is the first column in this limited result userDTO.setFullName(fullName); } catch (SQLException ex) { ex.printStackTrace(); } } + // Method to get user login/logout logs public ResultSet getUserLogsDAO() { try { String query = "SELECT users.name,userlogs.username,in_time,out_time,location FROM userlogs" + @@ -180,6 +212,8 @@ public ResultSet getUserLogsDAO() { } return resultSet; } + + // Method to record a user login/logout event public void addUserLogin(UserDTO userDTO) { try { String query = "INSERT INTO userlogs (username, in_time, out_time) values(?,?,?)"; @@ -194,6 +228,7 @@ public void addUserLogin(UserDTO userDTO) { } } + // Method to verify username and password public ResultSet getPassDAO(String username, String password){ try { String query = "SELECT password FROM users WHERE username='" @@ -208,20 +243,42 @@ public ResultSet getPassDAO(String username, String password){ return resultSet; } + // Method to change a user's password public void changePass(String username, String password) { try { + // Note: Using prepared statement correctly for security, even though query construction is mixed String query = "UPDATE users SET password=? WHERE username='" +username+ "'"; prepStatement = (PreparedStatement) conn.prepareStatement(query); prepStatement.setString(1, password); - prepStatement.setString(2, username); + // prepStatement.setString(2, username); // Removed redundant setString(2) based on the query structure prepStatement.executeUpdate(); JOptionPane.showMessageDialog(null, "Password has been changed."); } catch (SQLException ex){ ex.printStackTrace(); } } +public UserDTO getUserDetails(String username) { + UserDTO user = new UserDTO(); + try { + String sql = "SELECT name, usertype FROM users WHERE username=?"; + PreparedStatement ps = conn.prepareStatement(sql); + ps.setString(1, username); + + ResultSet rs = ps.executeQuery(); + + if (rs.next()) { + user.setFullName(rs.getString("name")); + user.setUserType(rs.getString("usertype")); + return user; + } + } catch (SQLException e) { + e.printStackTrace(); + } + return null; +} - // Method to display data set in tabular form + + // Method to build a DefaultTableModel from a ResultSet for display public DefaultTableModel buildTableModel(ResultSet resultSet) throws SQLException { ResultSetMetaData metaData = resultSet.getMetaData(); Vector columnNames = new Vector(); @@ -242,4 +299,4 @@ public DefaultTableModel buildTableModel(ResultSet resultSet) throws SQLExceptio return new DefaultTableModel(data, columnNames); } -} +} \ No newline at end of file diff --git a/src/com/inventory/DTO/CustomerDTO.class b/src/com/inventory/DTO/CustomerDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..09e9ef07d261b0beeb1e0085ba3ce18c158052c8 GIT binary patch literal 1467 zcmZvaU2hUW6o$_%U(1KmR$8?cYpJ#iC}>-&mdZsTBq*Uq8t<27#cg2M(4~q0$wW;` zOuX<1_@j*PS(Z|#n@!#`Gv}S>%$(Uje}DZZqCKi6C`r3#`w%_)&+^CAeARIr)LUUYMtumdU>GR{c^`0S$4mI{KxTN(AI~@s{_Z- zUCXfrMLvIWY%E23X4i5-0xfEc%pOl-T^$Sq>FA+lTW(cQNXvf^6rR>ew=COikB41z zbfR|$@WuP4Tk{VED~=UEo3DhmCht!ArYR(&<%5o!^!H6o%i49%4Ar>27w@?;Lz&j) zML9R0smQ&X-dsguHpFUu+6NpSo#33m5Z3Bk(7T}D9`9=YIDxH4vu-7@Z9eHZ1(rpYC6-&1NzpRP3S|Uk4QE)k>~qt0 zoza&vDCH|e@aGSI+&wi7mp1UjB=L`_q;M6C6fWdN)bb+Ac@Y)8h@xIZT`!_E;vxw? zEc7mBSww*tDf}ey0|P;;(5SbVhOW^)=>OIWQoc&o6_~Pg-?!#)I)yQXwFxP6Y{FYz zr3kQs*6Be2I`myaGjxM;*U-fYg=BON=uJ2`1JPj_y#?#TV02hU7l1Cp|0ob0kBlhjR1EXyn_EDu;7vJ_cL zEUPS!SRS*iu{>dU%JM8u&*St$qgc~wR2K3YX$u-9-a1CzuG;Uh?zBvc*OTQ&%U-dn zWfLBrx6E42nI#@I4)HKV?f%Qu|$nt5F#T^JskTV~zC`2=4!+o)g| zv=?owTHk@OLc*pE~Un@_ZyX45^9C_61XFm!#saTf_u7G@ zXpjy=U@?--^CfI8`kiA_aEjfM-^XN8}c+u*io z_kEq$!AY_WXNz z&z&W(H{*T?2^{i8RhK;MA>B3<&L1bZF-E~TD^=`!&JyIKg~(a(W?0sn0!IxVAL!8)Txr)6{nXcPWfC0du!uVKxr(YlPT0lf+T zoD#i9MmJ%dSEKjHXd7q;{yR!^myCV~>s>XvOGbYH`Xl@cN_0j>e}eU%8l92RpMm}Y L|9$*7LR9z%?Vnv+ literal 0 HcmV?d00001 diff --git a/src/com/inventory/DTO/ProductDTO.java b/src/com/inventory/DTO/ProductDTO.java index f3b932e..20da389 100644 --- a/src/com/inventory/DTO/ProductDTO.java +++ b/src/com/inventory/DTO/ProductDTO.java @@ -18,10 +18,11 @@ public class ProductDTO { private double costPrice, sellPrice; private Double totalCost, totalRevenue; private String prodCode, prodName, date, suppCode, custCode, custName, brand; - - public int getProdID() { - return prodID; - } +//private int quantity; +// private int reorderLevel; +// public int getProdID() { +// return prodID; +// } public void setProdID(int prodID) { this.prodID = prodID; @@ -130,4 +131,21 @@ public String getBrand() { public void setBrand(String brand) { this.brand = brand; } + + + +// public int getQuantity() { +// return quantity; +// } +// public void setQuantity(int quantity) { +// this.quantity = quantity; +// } + +// public int getReorderLevel() { +// return reorderLevel; +// } +// public void setReorderLevel(int reorderLevel) { +// this.reorderLevel = reorderLevel; +// } + } diff --git a/src/com/inventory/DTO/SupplierDTO.class b/src/com/inventory/DTO/SupplierDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..35f2ec4c7a85e0450d8d6ed83a205fd49d5df59f GIT binary patch literal 1467 zcmZva+iuf95Qb-+^8wN`&=R02v^hWwZ7I-{Tr^RnK$Id^rNPyG` zi3=WpheG`0xJg+oOaIL7{{Cim?B9QW{vx7%swOE#dkIR?KFf2K1C|#oFIir(9I{km zbQGi4f}-c+(WqG$B$|REJ)>*7$gz&qtg8()OE(0?*;})FNS9h?+J&a#ps#jZ z$F%wtoPQh-25oJ~)`6{Su4!9Cp?u+kpzsuwX_=PM9uK>QbETNX=R4tili!ZRRG&5r5892x<8OrXb+$04=HGz{S9ucq$5&TM;$XH& z`IV=gt>gGjoV8}-;j{UQ@AYmvFTRnVCOh`n(T#@5 z^I72G3{1nRpPrQYE2QZb-A+@QZlviZWzw|3vdFST%V}C+S!G$HWkFfp9;&8wVOXy1 zd{#kGuMxqYf7z4nnW4M1i616~e=JT4S3#z5Aupnq7g5fOsOUu$^&;we5v36qNpQ2! zJ6L5A1!AQ5gT!|vg4Ur?Z!-hkpu5n2t(T;Hk*sSlW$B)8&7nJmF~yAuDRXSn+g+y! zu!8Q>gBe;u#$8-e=&OWg=qBZSYmP#A7`-#0kc`d&y#?o1AUZ6gw_$x4j1J4_BG4uH z9|fW#GP(@wb}%|3qj!PcgMWwePxU@B12x6Wr>nov|m9|B#0vlNJq$>=Jq zkAu-M8GQ_N4gM#A=(vn-z*-JQ$7S>zpx?r;2BH%(x((~oV01!8zX!Sl|1%6#q20f# CCdp&~ literal 0 HcmV?d00001 diff --git a/src/com/inventory/DTO/UserDTO.class b/src/com/inventory/DTO/UserDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..93dead52a4f856a8f976877937f74ec759f93298 GIT binary patch literal 1842 zcmZ{kYflqV5Qb+N7isGtZ%5eiZ*Erwz=(GN>maY@;2+AW6va2mQ|KD zmJG{!kT${;p)|`&jW#)EHG0MIb&zsF+EU1u%_yW~71BP{%jLX&WGEEN9qPw=s;pZF zsU4?kS_exwFWV*EF>OmBwes1v;M3|gqiVS+T1BtbzSz}$?`iR*0z<&GiY60-cHL>L z0%_ASoo5QQ#S?E8@~_$ZIB(CHmXWU??HSdgzE{SR(1GD(z3i@dLRL|z*0OZRuRE9@ z2BvWN+hHU$H!A-CdPg1TUS$?`{&<$tA~@V=&Le`uD?6O!nzP`u)=tCOwl^FccuS`3 zHb=!7S9YAyoE@KC*?D=5VP57ncA8^1t_D5s*!613*f4o+QATHqg&DrWDBYovC=F3> zl!jTls5?qMyt>WO$I{O-z%od^3iXP2zgjoT`$jcNc`D#aN8;JcBA|KN#*34P(o>pH zsIO!nrA+JCupGO3l0pF~uMmYgTExQMp;2-`(JK|h!pkx(ySHms>6L)Da1i(N-(woZ zYu|~_B}6`M6)PWi>qa!}M)d4PwCzT8?nX54Mhwf1m=|IfDLg~yD0V}L3Zk04Amuw2 z3XMSn?!$KII88wRwVsmin_%sM=`P*#tYfIs$C%{g8Tne+u=}*1RNRh2_oe7I5j_lR zT#jxN(PKc5!=Ip}S4ykFQ}TZms*b}nNmHJ+RrSCb`9<^;(9>{EORHAJs%K%HkyovX z=sBS0;ZI4?0TI0b>#Q6d5YcI%m*IaPMF&On3ak(1=%9$s0KE?XBPm)F(VMW&$2kU|y9Tw3afc^+S{yw1m$t>Z0=dWx0 mCq>?0P&9c;>N(wr-GpH6Kd1Is2iE6wOZ;ISiHk_}(b8YuY7@=? literal 0 HcmV?d00001 diff --git a/src/com/inventory/DTO/UserDTO.java b/src/com/inventory/DTO/UserDTO.java index e9c39f0..d5a3b4d 100644 --- a/src/com/inventory/DTO/UserDTO.java +++ b/src/com/inventory/DTO/UserDTO.java @@ -92,4 +92,9 @@ public void setUserType(String userType) { this.userType = userType; } + @Override +public String toString() { + return fullName + " (ID: " + ID + ")"; +} + } diff --git a/src/com/inventory/Database/ConnectionFactory.class b/src/com/inventory/Database/ConnectionFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..07959ef4c34594c0bdc7d8c900a0d2f1c1037bfd GIT binary patch literal 3493 zcma)9YjYFV8Gcr>v}<{djf@SZKo$}lV;hSGN{hfyU*uwtZ;}mxl#sQww%4q7#qP?N zG!1E+^pf;`r}yjlOFpEXmf&Wl`PR<#r}QUuI&Gh`l2$UfGZ~N1?m6c@?|I+nc`vJf z{O2!!1#k|(Phc4Ht%xBfhP)USWGpJUk-$y7sNj}@+X`Mv;Ip{XhL>?y#w!W5LszgQ zqmV!+iZTot%L#O0UcriZt|pL#F5XN9Ypu8kOF=0C8;*jqg8M?1+XfH57%FX8$A*GU z@!V4Is)Elccugqzyn@%o>Vr1CA%>UnK*1Med{IJtA~$s-lar9luIcM~%F^wXRNi+@ zd*z~p_HoDdeBJhM=vKv$5M9h=B`AyeOm1d$I>Xnw(R}{qY;HnAqTtxJQSeR2me5_* z=H0haR8d=|!d7bYjgn#e5)L$E^7U0A;u>DX^7F=Skz9S1BJoS6ZTgpKPyeYK5?aQc zB8}_Fnzk`hDJ>c9g1%&NrJZ^U_onr7FefF%oj40ySB=8Gtg~X$)(iblyZ%vDPEE=9 zk_36h@P&^O4)&jFxU|b{l`^4^5_*~i!*x0)E zU^$*}GVfH}f-z|dD0&+9OzH*SakqvA-zqNRl8R5@yoyiaQz|YXEup{Qlv1X>PMRo~ zn$UfHN%xEa@U~b@2QukY%5n<2 zwd#0&`s~>==Nq?N(Jjl_n5!&VX5qTAl`|NF#=35e_-@7Mt9V8}pB-7&Ezjul43`%y zm?h&?$2LY57smUF#EhUC%G+SZq^`{dB+Tiy zq2e3(CKDmhD)JydpAA*jjx}f7SjDu81{EHu!>u(a(M57vuQst zM#gtld=KB3aGaNE;cZ&6BJx=)gqfJuWc)zI5Ah?0e|Vo)&qB@gG`nJ1Lrq7t<-i23 z>>BH)Q}L{=VF}~;Og1yVpqWK&GB-P|ktWyEZeGpgGQqp8myD4s+UU%LR;Qpg6_Wl| znY$`}jE6FQqT;9cnTns|x{P0__$7WNAz~I){2ITJa4hghKwkI864|Q-iJaC5+w_(Y zxi&F2uGJW_9ba1(6w=Z|p_j!VJhhVPc?4xxWWaAFTn_h}P_3eVTpJhFLi1M*jrDIx zTcqtnnr;`hxmsLN%M32b_??8_fC^3Ipun8PEXYDn*x1OYe)rw z$P%;cxHE)O!pS{qRjud*l{+}V0?`wOT@{OI-PTt`bWQJ};3E~g|5Mqz!iyTX(S?F* zu+E32jm3x+YufNUTEWU+uYbF{&3#In}pOeZzR{9=Kp z(?PWuVy=3i7y`}P4~L9AwJZ9sXhfnK zi0(4ggkyE}q5w@bHjP5XH|8sbyTvbqP+{1DSVwJRli|w-e48kf+$qu0_w!k)7O zv@7y%@>se>c-`BwgJ&X0$9iKegFDco=#9mOYA^BAwU-?nmynM4#&>W+!b7z8#*@$P z;JFCi-NuP@tOy%hR@Nh5%N1p zZs*ABZF+cznBAq{uMrR7{XVqp|2MA6$c)kNW4vP$pQ-tMluv#oASPUVk1y;H9OJ>F z5W0#fjv`c=MWauOW+`+H*Y^-@c~W$qG-hc)B+&W}i4_LCP>r^29K0^D?;{)^AbBhK zJOi`;!!QQl3wBR&ci_VyaO2e0PTTtMd-{$lKf|%t9kQ~u_1C~o*1?K4XSwTV1U`qSgFpVI~WY+k?Nc| zG9+OeTDFPs(@zJz@cazvtOxtCAPDa<#4Uz#iF;-4+N9Ybz4rr)6Nq(obOsWwcyiSSkm)=}FZV z%INUUJ1cp9D-6l17#&=n@VeL{__kEi>@cim|AAjSXGr+ECKv|FQi-Ehvns+FDgT(*40+uY-~#uK&=Z?6N{xB8Y%=2mno48(!72{PaNTes1acwYq# z9Z6L`6y{Rb989G!jhPf2^rVoq+AQX1*JT+QL6Hm#f7W5>x4ingd7~8#OLgMe&cHkfL_`ZJ(29!x;rw?BF;AD!1zIFn zI&BG|1Bua}giGFD(iX|K9ygbN1j{`kc25@ZK$4TEV zZLL=8Qnj^OwOY4Y>kc*(+XybzsI>b|try*-}eIr=C1``*hkZ!!VQIdi}7e*69I z_uY4Io<0B6IRG2*Y7pCz3?ha>!46k*NC`HiAss{&28Cj2$OKXCO^#@=gV4Q6R)Z5n ztvAVOI2uIQn;g?{Jb)8H%)v=9^x6PkC-77NuNQcShC4OfrQr=4?hfFM0lX=IdjfcK z5KHhDv3aj}d20Y~6Pr|jyTDT#-VsDI?vu$oHM}c`2;MCb-(QUf@E(~yDA;=idtVR_ z;r&5;03X!wu)q%q<-^r@1RoLXqcVI<7#|nx6QcB}V4sxXF=2d4Xpd|7bPyeqr4D>X zhR?{5lv?1In&eTmW-xAM4BK!lo09X3 zB*$44oMD^&wwXP&Ip;W5T49b~)FV?an02hg;U42)is2W<=Ta$CwK17aIycZrgKNdN zzEyh_D%z|*s@KMnX>(_8=%8tj8JsDKZPrl6N}FkixhiiE`Nh8AS`$vvN_Uxdzhw`Z zeF{s*+!)84hXJU7C^k9#|JU@4$OmuW3UToG~zK(t9 zRhZ>d^tM~aUfjfV2`eHi-D0JgzN+X@#z;64_-P$y@Fj}0?dk6B*x9oz-m|N1yN)Mt zK!H6vEbxj#(~eY5q}}W{aw*3RUv$4Ru@U3ufMqV*6QxXd$CmDn_%=p+(XC&;PArY; z_zKPzWqhk`kC`2pg5Perji5c zAs%Q7)djc~>u7C{?%c{Y@SXo9RoR}i61HhLW*5IOsg#*=#dsPN&13%Dmo~O)T8BPs zbQL6I@0Mn>Vv z>2!VT;8)z$9Q)KMTwkz}1*LY$S=m%lKgxc)WE1@Ex#xht+AnCLC?72v{-MxVm;tXS zT`41BdgT``MdWcDYwhW1S7`P{e_> zUBzovxUpoyrcd}(3jxOK_Jf936e`CW=&(QL(hcKFOreO2w@e>}uMU~B&gs2f%+%Bc zg?Tn@v+U$a>51`n96RsE58o2O@}RuQAI3#CYWn3(jcIkm|F^B%{E?IhciP++=Qbpt z6w`K+iHT&)8Ze#0>tHn9Z}D0;c0NVqBiwCfc{_@mas#S8m`kSmCcjh)Enav&zlcT^Yhy6HmR zN?pjCqzif3B&>wu73u)Tn>o9VdS!&+#u1e9SKin(jEcrQDo>NDa0|z|)B)zB0t*np zLd?J-)L}98cyspbls$tQv7`ReIEt#?5op5*5UnN}97YXMo#>2V%p_V%G&GDlqG6)5 zhB3SG2?Rzlr#C#eJT!j<^YWN4r0{|~7P`oyJQfqF8^w}d?JO?qE$6tjw_L@0EBLGA zuS&%^DNU{{O|B|QCUIGBdAOd|!k5!__zD^iFOQGl$~;yuikT8g9xDlEyHPh(gmgFR zRYD3ge@z~*xtB>@oyVF{LiSI9P%Jp^DUVhOiQZMGOAGCDeQ(aAEsyreS~R-+SZSeX&l-8#I4jd&G&r{YFcjZJDkwy1h+RV%PfH6g0jqf=dt?P?=pstr5T zZtPV1uuJu$OJ(>LJBDs`lJisK-^u6I-ITwFy7%%Wb|3bt`}ul$5c|}_d|*9}{VLDb z(38ZU#?9(^+@fBYtST7xn(l_g|U33&(n+o=|$D(%%k2muRvb`YFIC z1u!U|LA7*o//GEN-BEGIN:initComponents + + // Custom Rounded Panel for Card Effect + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + + // Custom Header Renderer + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { + setOpaque(true); + } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); + + // Wrap table in rounded card + javax.swing.JPanel tableCard = new RoundedPanel(20); jScrollPane1 = new javax.swing.JScrollPane(); stockTable = new javax.swing.JTable(); + refreshButton = new javax.swing.JButton(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N - jLabel1.setText("CURRENT STOCK"); - jLabel1.setToolTipText(""); + setBackground(new java.awt.Color(220, 230, 250)); // Darker Blue BG + + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + jLabel1.setText("Current Stock"); stockTable.setModel(new javax.swing.table.DefaultTableModel( - new Object [][] { - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null} - }, - new String [] { - "Title 1", "Title 2", "Title 3", "Title 4" - } + new Object [][] {}, + new String [] { "Code", "Name", "Quantity", "Available" } )); + stockTable.setRowHeight(40); + stockTable.setShowGrid(false); + stockTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + stockTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + stockTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); + jScrollPane1.setViewportView(stockTable); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); - refreshButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N - refreshButton.setText("REFRESH"); + // Add table to card + tableCard.setLayout(new java.awt.BorderLayout()); + tableCard.add(jScrollPane1, java.awt.BorderLayout.CENTER); + tableCard.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + + refreshButton.setText("Refresh"); + refreshButton.setBackground(new java.awt.Color(65, 105, 225)); + refreshButton.setForeground(java.awt.Color.BLACK); + refreshButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); + refreshButton.setFocusPainted(false); + refreshButton.setBorderPainted(false); + refreshButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); refreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { refreshButtonActionPerformed(evt); @@ -71,29 +132,26 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(jSeparator1) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 701, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(layout.createSequentialGroup() + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(refreshButton))) - .addContainerGap()) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(tableCard, javax.swing.GroupLayout.DEFAULT_SIZE, 860, Short.MAX_VALUE)) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 330, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(88, Short.MAX_VALUE)) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel1) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) + .addComponent(tableCard, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE) + .addGap(20, 20, 20)) ); }// //GEN-END:initComponents @@ -106,6 +164,7 @@ public void loadDataSet() { try { ProductDAO productDAO = new ProductDAO(); stockTable.setModel(productDAO.buildTableModel(productDAO.getCurrentStockInfo())); + TableStyler.styleTable(stockTable); } catch (SQLException e) { e.printStackTrace(); } diff --git a/src/com/inventory/UI/CustomerPage$1.class b/src/com/inventory/UI/CustomerPage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..37a9a6c56003785a8165e6424d641fdd8345c77c GIT binary patch literal 664 zcmah{TT22#6#ho7&CSg2_Y5&GgVvz8A_yrEtfbrfxK29a&cyC$^s|DZ=%F9bkBZKS zP!FL4bLPyM@0{;k=Ii_86Tktsl1O0Q#TXV`%wo~Ol7kfos|@3&C8KxN*Mu1X~?xt zT$q+_I9N+z9UCb)m`EXMwM}G+YiO1EeTGy;DG`=CJc>lbkm;w^;i~Cf*4x523>*Ju zTa}R!bZJtC_C}gqkzuhK>L`$^ zEtJ*qLvXeqR9eRBNW{myAxZ?@mP*<(!*c!~?CLo~s-o+HVW=vVIBZ2V5ufr}(^+_E zrB=rxzSeOh>O`Hd-tsmN_`MB;;}3Q^kX@&jTrmGcx8hLjNf%)FcV6qxlY;K5u&Iqy zjRRqCblt;j26LFtz(ZdKX{Rk?L*EFBriw~VDKBi@{Layp1{^#k^F)Coj{jF aa)l&@$Tfj1hUrYvcN@hNX^u8UC#^5(9if8& literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/CustomerPage$3.class b/src/com/inventory/UI/CustomerPage$3.class new file mode 100644 index 0000000000000000000000000000000000000000..1201a9e36802d50be4a38ce3963f09516a72aed1 GIT binary patch literal 664 zcmah{+e!m55It$DYuBo+_q!q$Y74HYZ zZA}_0$dlgtaxjd#K2~*fs}&VU9LYkjNFIj5nEdt@jid5kkNdX_t2FTe(9poLS=R*m z2npJ0_+%X>ZH?~E;ulNLV8s_C9_dE)lO!*a*CaO>@$I*CP_s4LBDe#ZlTZv)}@gWVov&*@t(n18CfNhtQE3o!OOuMOu(LHAS`X(LtV zP}nQo_OOt{B9?OSFqA{qY0D@QSKlhjb%xx5QX*+Y+!$dP3cb`Kt~$YS>so}CVd>9o zo6=Z8p7h?AgJIP5v7zHzt*AiaNLPAA@-P&}ls9WMj-CH{+`nZg(ZmNpLjx-mTodRc zq-ba1lXaN16}mf%UtNC&tG*!hNH?mVBzcjPBu6m%jbHu7XRA+O>#s=v!2MpJ8zPC2 YMxI<#C}51v41Ko=%#!A4Gj!7W0{E|?x&QzG literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/CustomerPage$5.class b/src/com/inventory/UI/CustomerPage$5.class new file mode 100644 index 0000000000000000000000000000000000000000..168f3c59ede2ea8582374fa4b109af44d144354f GIT binary patch literal 633 zcmah{T}#6-6g}Cx)z#`Yzjb~g6Xpc#gFg8IQWOT82!6bGU6|E28BMGBvjj!)K}6sD zQR0mV`XDoq+>`X&lY3A4{_*q-U<3077#OvX!cd~zT9c)@B12VX(8)arm@ct0-ap`UDKLQq$~D?A4(O7 zZi^@9vSVV}#tbSp@-S@-Xf%sCYO!yJ)lI6cAq0=z&{K*lhRR=+?RC6f!efTHzH$u1 z+Adc{Jt?RclFQb<`tf|9D^=ZCC)aoWv$C%_SfoeI(fhJeNjFOx( MFiFTF8G|B?PmvdylK=n! literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/CustomerPage$6.class b/src/com/inventory/UI/CustomerPage$6.class new file mode 100644 index 0000000000000000000000000000000000000000..4dd4e3089f00bedd707ab5f2d8c89d416511cddc GIT binary patch literal 626 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 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/CustomerPage.java b/src/com/inventory/UI/CustomerPage.java index 4b38c4b..91f8762 100644 --- a/src/com/inventory/UI/CustomerPage.java +++ b/src/com/inventory/UI/CustomerPage.java @@ -32,11 +32,55 @@ public CustomerPage() { */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents + + // Custom Rounded Panel for Card Effect + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + + // Custom Header Renderer + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { + setOpaque(true); + } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); - entryPanel = new javax.swing.JPanel(); + entryPanel = new RoundedPanel(20); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); @@ -53,155 +97,150 @@ private void initComponents() { editButton = new javax.swing.JButton(); deleteButton = new javax.swing.JButton(); clearButton = new javax.swing.JButton(); + + javax.swing.JPanel tableCard = new RoundedPanel(20); jScrollPane1 = new javax.swing.JScrollPane(); custTable = new javax.swing.JTable(); + searchText = new javax.swing.JTextField(); jLabel8 = new javax.swing.JLabel(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N - jLabel1.setText("CUSTOMERS"); - - entryPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Enter Customer Details")); - - jLabel2.setText("Customer Code:"); - - jLabel3.setText("Full Name:"); - - jLabel4.setText("Location:"); + setBackground(new java.awt.Color(220, 230, 250)); - jLabel5.setText("Contact:"); + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + jLabel1.setText("Customers"); - jLabel6.setText("Debit Amount:"); + entryPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20)); - jLabel7.setText("Credit Amount:"); + java.awt.Font labelFont = new java.awt.Font("Segoe UI", 1, 12); + java.awt.Color labelColor = java.awt.Color.BLACK; + jLabel2.setFont(labelFont); jLabel2.setForeground(labelColor); jLabel2.setText("Customer Code:"); + jLabel3.setFont(labelFont); jLabel3.setForeground(labelColor); jLabel3.setText("Full Name:"); + jLabel4.setFont(labelFont); jLabel4.setForeground(labelColor); jLabel4.setText("Location:"); + jLabel5.setFont(labelFont); jLabel5.setForeground(labelColor); jLabel5.setText("Contact:"); + jLabel6.setFont(labelFont); jLabel6.setForeground(labelColor); jLabel6.setText("Debit Amount:"); + jLabel7.setFont(labelFont); jLabel7.setForeground(labelColor); jLabel7.setText("Credit Amount:"); - addButton.setText("Add"); - addButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - addButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - addButtonActionPerformed(evt); - } - }); - - editButton.setText("Edit"); - editButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - editButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - editButtonActionPerformed(evt); - } - }); - - deleteButton.setText("Delete"); - deleteButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - deleteButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - deleteButtonActionPerformed(evt); - } - }); - - clearButton.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N - clearButton.setText("CLEAR"); - clearButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - clearButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - clearButtonActionPerformed(evt); - } - }); + java.awt.Font textFont = new java.awt.Font("Segoe UI", 0, 14); + javax.swing.border.Border textBorder = javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + ); + phoneText.setFont(textFont); phoneText.setBorder(textBorder); + locationText.setFont(textFont); locationText.setBorder(textBorder); + codeText.setFont(textFont); codeText.setBorder(textBorder); + nameText.setFont(textFont); nameText.setBorder(textBorder); + creditText.setFont(textFont); creditText.setBorder(textBorder); + debitText.setFont(textFont); debitText.setBorder(textBorder); + + styleButton(addButton, "Add", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + styleButton(editButton, "Edit", new java.awt.Color(255, 193, 7), java.awt.Color.BLACK); + styleButton(deleteButton, "Delete", new java.awt.Color(220, 53, 69), java.awt.Color.BLACK); + styleButton(clearButton, "Clear", new java.awt.Color(240, 240, 240), java.awt.Color.BLACK); + + addButton.addActionListener(evt -> addButtonActionPerformed(evt)); + editButton.addActionListener(evt -> editButtonActionPerformed(evt)); + deleteButton.addActionListener(evt -> deleteButtonActionPerformed(evt)); + clearButton.addActionListener(evt -> clearButtonActionPerformed(evt)); javax.swing.GroupLayout entryPanelLayout = new javax.swing.GroupLayout(entryPanel); entryPanel.setLayout(entryPanelLayout); entryPanelLayout.setHorizontalGroup( entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(codeText) + .addComponent(nameText) + .addComponent(locationText) + .addComponent(phoneText) + .addComponent(debitText) + .addComponent(creditText) .addGroup(entryPanelLayout.createSequentialGroup() - .addContainerGap() .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(entryPanelLayout.createSequentialGroup() - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(phoneText) - .addComponent(creditText) - .addComponent(debitText) - .addComponent(locationText) - .addComponent(codeText) - .addComponent(nameText))) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(addButton) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(editButton) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(deleteButton) - .addGap(0, 0, Short.MAX_VALUE))) - .addContainerGap()) + .addComponent(jLabel2) + .addComponent(jLabel3) + .addComponent(jLabel4) + .addComponent(jLabel5) + .addComponent(jLabel6) + .addComponent(jLabel7)) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(entryPanelLayout.createSequentialGroup() + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(deleteButton, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE)) ); entryPanelLayout.setVerticalGroup( entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(entryPanelLayout.createSequentialGroup() - .addContainerGap() - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(locationText, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(phoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(locationText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(debitText, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(phoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel6) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(creditText, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(debitText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(addButton) - .addComponent(editButton) - .addComponent(deleteButton)) + .addComponent(jLabel7) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(18, Short.MAX_VALUE)) + .addComponent(creditText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(20, 20, 20) + .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); custTable.setModel(new javax.swing.table.DefaultTableModel( - new Object [][] { - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null} - }, - new String [] { - "Title 1", "Title 2", "Title 3", "Title 4" - } + new Object [][] {}, + new String [] { "Code", "Name", "Location", "Phone" } )); + custTable.setRowHeight(40); + custTable.setShowGrid(false); + custTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + custTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + custTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); custTable.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { custTableMouseClicked(evt); } }); jScrollPane1.setViewportView(custTable); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + tableCard.setLayout(new java.awt.BorderLayout()); + tableCard.add(jScrollPane1, java.awt.BorderLayout.CENTER); + tableCard.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + searchText.setFont(new java.awt.Font("Segoe UI", 0, 14)); + searchText.setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); searchText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { searchTextKeyReleased(evt); } }); + jLabel8.setFont(new java.awt.Font("Segoe UI", 1, 14)); jLabel8.setText("Search:"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); @@ -209,37 +248,44 @@ public void keyReleased(java.awt.event.KeyEvent evt) { layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel8) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(jSeparator1) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 445, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(layout.createSequentialGroup() + .addComponent(tableCard, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE) + .addGap(20, 20, 20) .addComponent(entryPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel8)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel1) + .addComponent(jLabel8) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(entryPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addContainerGap(67, Short.MAX_VALUE)) + .addComponent(tableCard)) + .addGap(20, 20, 20)) ); + } + + private void styleButton(javax.swing.JButton btn, String text, java.awt.Color bg, java.awt.Color fg) { + btn.setText(text); + btn.setBackground(bg); + btn.setForeground(fg); + btn.setFont(new java.awt.Font("Segoe UI", 1, 12)); + btn.setFocusPainted(false); + btn.setBorderPainted(false); + btn.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); }// //GEN-END:initComponents private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButtonActionPerformed @@ -321,6 +367,7 @@ public void loadDataSet() { try { CustomerDAO customerDAO = new CustomerDAO(); custTable.setModel(customerDAO.buildTableModel(customerDAO.getQueryResult())); + TableStyler.styleTable(custTable); } catch (SQLException e) { e.printStackTrace(); } @@ -329,6 +376,7 @@ public void loadSearchData(String text) { try { CustomerDAO customerDAO = new CustomerDAO(); custTable.setModel(customerDAO.buildTableModel(customerDAO.getCustomerSearch(text))); + custTable.getTableHeader().setDefaultRenderer(new HeaderRenderer()); } catch (SQLException e) { e.printStackTrace(); } diff --git a/src/com/inventory/UI/Dashboard$1.class b/src/com/inventory/UI/Dashboard$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ef62c558c3022cd957b478234813e8321dae1d7a GIT binary patch literal 1234 zcmaJ>>rN9v6#k~IU0DXG$VDy!YQ=WBEGXUpk;>?>~3j%EE5Vu z6Cc2bGM;IRls0ygJ!j_3H)qb}oB93c$1eaY$n>BekCb?<#1kC@i0gQY*&a;enT`aK zItPT+dqOfs5#jm0$v zevNfRSuzY}PsN!qOTsxecLUFMjtLVDPHaEE#4y?BYH!EP2>+zu3eQrwb=$Fn4Tfx@ z8?bGyHJ;AXllu&jv};jp16kXVpDN{o^zx!mB1>P@b}YA=F1bEM$}pX1I1tsqlqz5I zpbpqp<2B_<-*qcqQGT%1_WpmtFRHBRgl(tT@bys!C$6R81;+?hIEFCH5yL%>LEKli zml|Giyv7@jw^-G%#<7lf8a6oIW0NC=O@^_y%BPx@PvtnakmeZ21XcAmsj@H8n?6NeoZc&sn zB9M8S(YoVSiFJu&!*eHun4-Crpn)Fif{L|skv0-tD>8S)Fx#3-u5c=g)Zxx#I-77q zf1-mggWPo}!>t~h73lh3|-^_y4~SeOz{UG zO%$qYA{DKK=pVr-7#`4Qp5_tKL&jVU%$TnsWGvJWHZBqQPIk(NWRx`UnIti&x$}s2 zDqpL{IoK8M)DWdnNX^a>y@GauyG=v*0zE&WA6}wYSuVhhxl8oj_#dYefIPh{d*pu~ jvpAsl=?hW)5MfNxS_ls@MLI$+(+rkrq*EOIr0M$$sPH$P literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$10.class b/src/com/inventory/UI/Dashboard$10.class new file mode 100644 index 0000000000000000000000000000000000000000..9693d947d809f506611f0ef012d3bb00b6d6fc61 GIT binary patch literal 647 zcmaJ47slJACuad^7w0@%jc}2ditN2of`c@}aM+M0TVPnK`nv5& z)fFn#!M%4`@ea9Z)HDz3MZ)b#CBuD&mE0iU#uY=Xr0arVyegGA>9lJixZt&xjc`Ad zTAhjDS_f@W?~yfmmwWs!^n|VK9rPe&>lZDVd#*cyFOH-oNd9)TWz&eUto)WXQr#Sj zu%YV?786)PCIJT{3B;|pj1`7Ve{tDuQlF?OC4y3m8zT%us@GMEs~hjM))an74F5J- zl_nIF$&l_}ff~2NE9v&FRwRrHL~}iH-1mhs+1&!QP#iee>c8cG=7d#R@DONCV5yW9 zPkWEhABRiPQS#R4ZX<4f^9d~fjK~AsNI6-`BKt{p49Rc&`ZqqFe+1inLG%yqS|Y|U b!Xk)boKho5VS>&Wy{;+DlV{7u=%nupZxfmI literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$11.class b/src/com/inventory/UI/Dashboard$11.class new file mode 100644 index 0000000000000000000000000000000000000000..c2945855893107eee930791974352a3e34fc1283 GIT binary patch literal 647 zcmaJ<+e$(~6kVg%(UYm&%Q7Pj%AljrOBg{|fnXQt@;)A?oY0v#b29p@peTCi1Nx|F zk668=12eN`v-aAz`TTnS0I-df1Y($WF@hNvlbCfd=U~A>mSHq(NmD2>EY*G8@ucbs z73$#8yR3N!+_V~+2h9rccBPWx9z%Y87;)o@Ay(B*!H}*?B~I=;4G~=MM%!ArA4;vx zL~yNxj%fD8Zh4n`{2}y&jqL6BD2EnTteAVQ?*m^PNh^^0&1lQIk>a89+uBHVb1cG^ zZaP>@VhOn<9K@4IShS2hLvCso8SyM^`)iyUq7=}zQt2S3R-f81j_#r9$n`m8{ zP>?4>c5nnr+%~VOJ9k=9VH6;`-Ybs#zA&b+Q=$P>hBmhTZ}^`+VTA@f0vZ!oCS!}I zxkqRx;F5KW&?>#H#Vu~WfE8a6d7>9pPA7R0jMF)eRG+`r=O>EKV4H7<{?T14#9YML Z7@|m%Km-{~&>f@SHHCRXHf)S;THhaknG*m2 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$12.class b/src/com/inventory/UI/Dashboard$12.class new file mode 100644 index 0000000000000000000000000000000000000000..12f2578fcec95567dd9d00bca3b3c6afcd5b6917 GIT binary patch literal 648 zcmaJ<*-8U36g_FHW2aTCty`@NQb8*?t@u_Eq*f@@1zg@U(`X}YB9pP=X9%cVXecB5r!et&#J@Km3Qo4iy$I}KND?A z6AAKU$PbP{iQDGYboWLpDvSce*KBbq9t6UeVx?TB2~_{>Z1d0f-;KgDO?U`2C$LP$ zR!@VE(N4l8Yl_ecy{*M9Z9IXMo)LSX7nM#Yc@dnTa};A={M9dhvh)bH@q+j--L*n2 cixHMX9OEPqLk1IcC+K@+F-ypXP0&s26UHx@SO5S3 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$13.class b/src/com/inventory/UI/Dashboard$13.class new file mode 100644 index 0000000000000000000000000000000000000000..9a06be162315e75ff1582319d03622c1b7229a40 GIT binary patch literal 648 zcmaJ<+e$(~6kVg%$&;zw%d#R2N}-d~n-PQ=1a?E~eLPM&qBC*kSoB#zQS{IU^ik0s z>GDzy%*>k2+H2qD?fvByzz$a8h+)db5T;#BV8+3$gLwxThT*U+O>T=}vFhudC)JHm zp$_i6izDxVn|4FaX#?8if^_@DONDVCl52 zo(3PG9fwQSQ9`TqwiY*Ecm&HoA#zVIDxFU9B6v>c7?Pj-wNHLL{{U8aM)Zg7S|L`$ b2&*HC6bVF-#yH(E`d*WmBV@zI=%)1n@$H%# literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$2.class b/src/com/inventory/UI/Dashboard$2.class new file mode 100644 index 0000000000000000000000000000000000000000..e41d3f564b225339a7b65bd51aa76170de4159b8 GIT binary patch literal 646 zcmaJOYwdMKBP`bDeeUqvz!8So*$*Ly#xI*<_POqPt~ipWz~pyFTPBSv9xAt^eW{wq zB53J`h2;cRu$q8{u>|7ATSJD_{VguH&5)=nCA><9`@ZlQQejgauA0tiy)E2;VfEKO zYtjz{Wiq7yCZN8}>?*o@qZR2Qf@nU}#$8wVH2o6Izx?l9YroQejR{%W?+9p1V5yYR zPHT_QABRoRaq`ybZX$M}_yksXMr1%YQcjk#$ljBkz~m6WF~r9Uk6^_YM1SCRSm=RB a28bd_sS%_wMQ4m2*9;cPGqf=}>H7rjL7K<_ literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$3.class b/src/com/inventory/UI/Dashboard$3.class new file mode 100644 index 0000000000000000000000000000000000000000..b3e4861c85d5e7aabb6f2b5a09df350ca82fe909 GIT binary patch literal 646 zcmaJ<+e!m55It#E*RIvp``s3)pcUMTzEuRN3PQbrm-loVZKRvXW>x$wK~a40RqRKJ zlf}!6y0DYUaAwY&nRMQtUjVG3n1O>~4_z4XFo;nXV=g9KOfq!GEon*>hUt2sLtmv%HY&=Q!wP}Qi=Vmupy#j-e}th4`Qj+ zp@`0O6pCh2?1Eo&pWnp3u+08u0@=2H)fV%P^i>py9cc^ne|NNO)2QOM3fkI8b-pL! zmTtP3%3>NbS-9xQB4fQ-6iD6Q;!3Lw*f6q)ro&6ENEZ>L7ZPne2!t`El?u(j`tMxpztVq=2}Rm(7iddh`MlLm zYfsUifk)9^^5*DnBVKvw0j&Ip)E(VOIa$gg`%1PC{h#>xPkg3)54QA#^bg!i3cV3Y Z2WjLeHHAC|=yd3D4Pl%-OY6`{-v|G+n-u^6 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$4.class b/src/com/inventory/UI/Dashboard$4.class new file mode 100644 index 0000000000000000000000000000000000000000..2932cc85be57f58e391e612d4e1bc3e5a1a2674b GIT binary patch literal 646 zcmaJ<+e!m55IyO|wQJRSzgv+CTEP|Zts+QO5b6cIyr^4LxC*y}bx>VEuwE=AP?T;EO|P3k>~sv|-bz;(_uT+DKJB z7GX_S9L%LLkA*ZG^rw-s-XgN3uD7_{HbeSIDG?MK+!$dPGEq|vuBzT?xi0*WVWDfE zC22xInGCbN38-&7yP|I1Xhph+Aif%DyKdhC&cdQM#{-j7TI^QgBa@IS33Aq{sC bl261jOsO$sFhXa79@iMA$+NTxI_dic2QZs2 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$5.class b/src/com/inventory/UI/Dashboard$5.class new file mode 100644 index 0000000000000000000000000000000000000000..755cb14f3df81b684630dbbf8bd421e9813e8191 GIT binary patch literal 646 zcmaJ<+e!m55It$DYu9S){cc4n)D~PpeX0mj6@+>LFYoC#+LSht%~tWV1V!<|5AX*> zKSrD^US4V!b}|{x%$YNj*U#q{0P9#tB7spCJs5K_jBy7O4yGJTGxUaaX>zL!vlU;r zJgKgQ3UzSno$Y%&+|;X@2elI6Hl>o`7DG1Q4Y+*HkSOb#U`SV_5{KaS43d&@d{-1#QwzDhi)|FPIiwNTRNE`QkVN7mqmF8dSI@d}^`kygjf%e-2+7ehM zW3|)TWArECQna7EMY`LFTPQw&6&?}0qZ=tFOIc*!$PQre8^838PZsXMicg6D!QH6P cJCS@Kjx?plkiih033^;3m?Y2ACg`N^3l5!|NdN!< literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$6.class b/src/com/inventory/UI/Dashboard$6.class new file mode 100644 index 0000000000000000000000000000000000000000..67f2fe63aa2a9e9f4e34b3546ae69853081a8715 GIT binary patch literal 646 zcmaJ<+e!m55It$DYuBpvezzhOY74Fp;!8!4svy)0czI8^u}x_c*=#F*mY^s;_yPWe z=!b}trRs}yVJDN}%$zwhdHsBT0kDbXBodf#(T7PFW0-OSmf72lAp6!Y+G6gRZU??NkhZ|^Pe zwIdPMb=ARq3JX|F!NEWZN$V{kL+W~q%Wg5G4wVu?smYBIh9Mm_)#R$?om3ja4;dE! z?6WLQC@7O*t~UYoZD&`~t!u4F7ZJpBkv8u8!kFyl2F<_t?_A4&(tnQ$%e3D<(3Zf` zX{(*q9-}`Am!gB@t@+Gjrz5l1O0GMGwYY3}f8Ego7yu(+s^~U7Fk~!)(RZ zEl;Xzp+X(pdT0CI4mb6x=0UAQxJ{{KxW$mocLOe;GbGBoCK%Ecsl;KsRTaT0uQqLj z`=Qk8SOgb3Xo*@>tii9j$8SPUSY~fKg6vwqWQ(~cx*hmpPuc>5za6dEG^)6({H8Wi zT^@+Au4@ivQkcbD3J&^GNLp_mSyK1ExZDOqYF{Z4l$+cbVHh$|Q%$Zey`ySF_#wkw z$3834gn}{|rvE3PzU}PFx^<-$=^}!7KGMd0Ul@~HU#0n%y3V!Ik^W~)SfKs(fVKpd z$yn{Q_89$1xD@RtZ;|dc;ueYzV1-A-?&wC!$x;^CH?jj5{KhYRht4$l> zekip%7QuxMTA~&eYw&CC@te>Smf72mAiLHt*<$XAZU?^DleWO%Z$~ROjVkUczp0H> zmj@!O>zad^6lO7(f`h&klGd9?mel<(F1Nvu+E+>hHi6+Z#%oPZe3|bx`-g2kF;^$7slk)S84vGu5+z)r2iQc7HGdcpe=!A zGFCgSJw|^LE=BvvTco>gg3nV`otf=Ti$ZGukvz5pcTo0k9p literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard$9.class b/src/com/inventory/UI/Dashboard$9.class new file mode 100644 index 0000000000000000000000000000000000000000..54e872b833376494af9eda53730b7b1b0af3866e GIT binary patch literal 646 zcmaJ<+e!m55It$DYu9S){cc4n)D~PH1d)m$RY9m1@baE+qfKcO*=!X*OHdRa`~ZJQ z^g)~~US4V!b}|{x%$YNj*U#q{0BcxCB7spCJs5K_jBy7O4yGJTGxUaaX>zL!vlU;r zJgKgQ3UzSno$Y%&+|;X@2elI6Hl>o`7DG1Q4Y+*HkSOb#U`SV_5{KaS43d&@d{-1#QwzDhi)|FPIiwNTRNE`QkVN7m)mF8dSI@d}^`kygjf%e-2+7ehM zW3|)TWArECQna7EMY`LFTPQw&6&?}0qZ=tFOIc*!$PQre8^838PZsXMicg6D!QH6P cJCS@Kjx?plkiih033^;3m?Y2ACg`N^3oKEau>b%7 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/Dashboard.class b/src/com/inventory/UI/Dashboard.class new file mode 100644 index 0000000000000000000000000000000000000000..dc4fb4a55d447cf50f76c089c60864990a75c22a GIT binary patch literal 15281 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%0AMy`c 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 lowStockItems; LocalDateTime outTime; + // Store HomePage instance for refreshing + private HomePageModern homePage; + /** * Creates new form Dashboard */ public Dashboard(String username, String userType, UserDTO userDTO) { + // Initialize UI components (auto-generated code section) initComponents(); + // 1. Get the User ID from the DTO + // Assuming your UserDTO has a getter for the user's ID (e.g., getID()) + // This is the CRITICAL change to retrieve the correct ID (20 for Trial Employee) + try { + this.currentUserId = userDTO.getID(); + } catch (Exception e) { + System.err.println("Error retrieving User ID from DTO: " + e.getMessage()); + this.currentUserId = 0; // Fallback to 0 if DTO is null or ID is missing + } + + // --- Setup Panel and Layout --- navPanel.setVisible(false); menuPanel.setVisible(true); layout = new CardLayout(); @@ -47,7 +66,11 @@ public Dashboard(String username, String userType, UserDTO userDTO) { // Panel Layout set to Card Layout to allow switching between different sections displayPanel.setLayout(layout); - displayPanel.add("Home", new HomePage(username)); + // Note: For this code to compile, you must have all these Page classes available. + // Store HomePageModern instance + HomePageModern homePage = new HomePageModern(username); + this.homePage = homePage; + displayPanel.add("Home", homePage); displayPanel.add("Users", new UsersPage()); displayPanel.add("Customers", new CustomerPage()); displayPanel.add("Products", new ProductPage(username, this)); @@ -55,8 +78,14 @@ public Dashboard(String username, String userType, UserDTO userDTO) { displayPanel.add("Current Stock", new CurrentStockPage(username)); displayPanel.add("Sales", new SalesPage(username, this)); displayPanel.add("Purchase", new PurchasePage(this)); + + // 2. CORRECTION: Pass the actual User ID to DeliveryPage + // The currentUserId variable now holds the user's actual ID (e.g., 20) + displayPanel.add("Delivery", new DeliveryPage(currentUserId, userSelect)); + displayPanel.add("Logs", new UserLogsPage()); + // --- Window Closing Listener for Session Logging --- this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { @@ -70,6 +99,22 @@ public void windowClosing(WindowEvent e) { setTitle("Inventory Manager"); setVisible(true); + + // Load low stock alerts for administrators + if ("ADMINISTRATOR".equalsIgnoreCase(userType)) { + loadLowStockAlerts(); + } + } + + // --- Refresh Daily Summary --- + public void refreshDailySummary() { + if (homePage != null) { + homePage.loadDailySummary(); + } + // Also refresh low stock alerts + if ("ADMINISTRATOR".equalsIgnoreCase(userDTO.getUserType())) { + loadLowStockAlerts(); + } } // Methods to display different sections in the mainframe @@ -97,6 +142,9 @@ public void addSalesPage() { public void addPurchasePage() { layout.show(displayPanel, "Purchase"); } + public void addDeliveryPage() { // *** NEW: METHOD FOR DELIVERY PAGE *** + layout.show(displayPanel, "Delivery"); + } public void addLogsPage() { layout.show(displayPanel, "Logs"); } @@ -105,6 +153,8 @@ public void addLogsPage() { * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. + * * NOTE: This section contains the auto-generated code and is left as-is + * based on your input structure to maintain compatibility with your GUI builder. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents @@ -122,10 +172,12 @@ private void initComponents() { salesButton = new javax.swing.JButton(); usersButton = new javax.swing.JButton(); purchaseButton = new javax.swing.JButton(); + deliveryButton = new javax.swing.JButton(); logsButton = new javax.swing.JButton(); displayPanel = new javax.swing.JPanel(); userPanel = new javax.swing.JPanel(); nameLabel = new javax.swing.JLabel(); + notificationPanel = createNotificationBell(); // Create notification bell logoutButton = new javax.swing.JButton(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); @@ -135,12 +187,22 @@ private void initComponents() { setTitle("Inventory Manager"); setBounds(new java.awt.Rectangle(400, 100, 0, 0)); - menuPanel.setPreferredSize(new java.awt.Dimension(120, 26)); + // --- Sidebar Colors --- + Color sidebarColor = new Color(65, 105, 225); // Royal Blue + Color sidebarTextColor = Color.BLACK; // Changed to BLACK for visibility + + menuPanel.setPreferredSize(new java.awt.Dimension(200, 60)); // Wider sidebar + menuPanel.setBackground(sidebarColor); - menuButton.setFont(new java.awt.Font("Segoe UI", 1, 14)); // NOI18N - menuButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/inventory/UI/Icons/menu_icon_150667.png"))); // NOI18N - menuButton.setText("MENU"); + menuButton.setFont(new java.awt.Font("Segoe UI", 1, 18)); + menuButton.setText("MENU"); // Brand Name + menuButton.setIcon(null); // Remove icon for now or use a brand logo menuButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + menuButton.setBackground(sidebarColor); + menuButton.setForeground(sidebarTextColor); + menuButton.setBorderPainted(false); + menuButton.setFocusPainted(false); + menuButton.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); menuButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { menuButtonActionPerformed(evt); @@ -151,88 +213,45 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { menuPanel.setLayout(menuPanelLayout); menuPanelLayout.setHorizontalGroup( menuPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(menuButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(menuPanelLayout.createSequentialGroup() + .addGap(20, 20, 20) + .addComponent(menuButton, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE) + .addContainerGap()) ); menuPanelLayout.setVerticalGroup( menuPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(menuPanelLayout.createSequentialGroup() - .addComponent(menuButton, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) + .addGap(15, 15, 15) + .addComponent(menuButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); - navPanel.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)); - - homeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/inventory/UI/Icons/homepages_home_house_icon_150665.png"))); // NOI18N - homeButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - homeButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - homeButtonActionPerformed(evt); - } - }); - - prodButton.setText("Products"); - prodButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - prodButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - prodButtonActionPerformed(evt); - } - }); - - stockButton.setText("Current Stock"); - stockButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - stockButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - stockButtonActionPerformed(evt); - } - }); - - custButton.setText("Customers"); - custButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - custButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - custButtonActionPerformed(evt); - } - }); - - suppButton.setText("Suppliers"); - suppButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - suppButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - suppButtonActionPerformed(evt); - } - }); - - salesButton.setText("Sales"); - salesButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - salesButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - salesButtonActionPerformed(evt); - } - }); - - usersButton.setText("Users"); - usersButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - usersButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - usersButtonActionPerformed(evt); - } - }); - - purchaseButton.setText("Purchase"); - purchaseButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - purchaseButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - purchaseButtonActionPerformed(evt); - } - }); - - logsButton.setText("User Logs"); - logsButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - logsButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - logsButtonActionPerformed(evt); - } - }); + navPanel.setBorder(null); + navPanel.setBackground(sidebarColor); + + // Helper to style sidebar buttons + styleSidebarButton(homeButton, "Dashboard", sidebarColor, sidebarTextColor); + styleSidebarButton(prodButton, "Products", sidebarColor, sidebarTextColor); + styleSidebarButton(stockButton, "Current Stock", sidebarColor, sidebarTextColor); + styleSidebarButton(custButton, "Customers", sidebarColor, sidebarTextColor); + styleSidebarButton(suppButton, "Suppliers", sidebarColor, sidebarTextColor); + styleSidebarButton(salesButton, "Sales", sidebarColor, sidebarTextColor); + styleSidebarButton(usersButton, "Users", sidebarColor, sidebarTextColor); + styleSidebarButton(purchaseButton, "Purchase", sidebarColor, sidebarTextColor); + styleSidebarButton(deliveryButton, "Delivery", sidebarColor, sidebarTextColor); + styleSidebarButton(logsButton, "User Logs", sidebarColor, sidebarTextColor); + + // Add Actions + homeButton.addActionListener(evt -> homeButtonActionPerformed(evt)); + prodButton.addActionListener(evt -> prodButtonActionPerformed(evt)); + stockButton.addActionListener(evt -> stockButtonActionPerformed(evt)); + custButton.addActionListener(evt -> custButtonActionPerformed(evt)); + suppButton.addActionListener(evt -> suppButtonActionPerformed(evt)); + salesButton.addActionListener(evt -> salesButtonActionPerformed(evt)); + usersButton.addActionListener(evt -> usersButtonActionPerformed(evt)); + purchaseButton.addActionListener(evt -> purchaseButtonActionPerformed(evt)); + deliveryButton.addActionListener(evt -> deliveryButtonActionPerformed(evt)); + logsButton.addActionListener(evt -> logsButtonActionPerformed(evt)); javax.swing.GroupLayout navPanelLayout = new javax.swing.GroupLayout(navPanel); navPanel.setLayout(navPanelLayout); @@ -243,12 +262,13 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(navPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(homeButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(prodButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(stockButton, javax.swing.GroupLayout.DEFAULT_SIZE, 107, Short.MAX_VALUE) + .addComponent(stockButton, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE) .addComponent(custButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(suppButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(salesButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(usersButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(purchaseButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(deliveryButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(logsButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); @@ -256,36 +276,48 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { navPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(navPanelLayout.createSequentialGroup() .addContainerGap() - .addComponent(homeButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(prodButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(stockButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(custButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(suppButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(salesButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(purchaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(usersButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(logsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(24, Short.MAX_VALUE)) + .addComponent(homeButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(prodButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(stockButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(custButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(suppButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(salesButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(purchaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(deliveryButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(usersButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(logsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); displayPanel.setLayout(new java.awt.CardLayout()); + displayPanel.setBackground(new Color(244, 247, 254)); // Light Gray Content BG + + // --- Header Styling --- + userPanel.setBackground(Color.WHITE); + userPanel.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 0, new Color(230, 230, 230))); // Bottom border - nameLabel.setFont(new java.awt.Font("Segoe UI Black", 0, 12)); // NOI18N - nameLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/inventory/UI/Icons/user_icon_150670.png"))); // NOI18N + nameLabel.setFont(new java.awt.Font("Segoe UI", 1, 14)); + nameLabel.setForeground(new Color(50, 50, 50)); + nameLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/inventory/UI/Icons/user_icon_150670.png"))); nameLabel.setText("User: "); - nameLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP); - logoutButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/inventory/UI/Icons/log-out_icon-icons.com_50106.png"))); // NOI18N - logoutButton.setText("Sign out"); + logoutButton.setIcon(null); + logoutButton.setText("Logout"); logoutButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + logoutButton.setFont(new java.awt.Font("Segoe UI", 0, 12)); + logoutButton.setBackground(new Color(255, 255, 255)); + logoutButton.setForeground(new Color(100, 100, 100)); + logoutButton.setBorder(javax.swing.BorderFactory.createLineBorder(new Color(200, 200, 200))); + logoutButton.setFocusPainted(false); logoutButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { logoutButtonActionPerformed(evt); @@ -299,18 +331,21 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(userPanelLayout.createSequentialGroup() .addContainerGap(401, Short.MAX_VALUE) .addComponent(nameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 262, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(notificationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(logoutButton)) + .addComponent(logoutButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(20, 20, 20)) ); userPanelLayout.setVerticalGroup( userPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(userPanelLayout.createSequentialGroup() - .addGroup(userPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, userPanelLayout.createSequentialGroup() - .addContainerGap() - .addComponent(nameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addComponent(logoutButton, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE)) + .addGap(15, 15, 15) + .addGroup(userPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(nameLabel) + .addComponent(notificationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(logoutButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(15, Short.MAX_VALUE)) ); javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); @@ -320,8 +355,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(mainPanelLayout.createSequentialGroup() .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(navPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(menuPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 125, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(menuPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(displayPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(userPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) @@ -329,14 +363,12 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() - .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(userPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(menuPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(userPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(menuPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE)) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(displayPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(navPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(navPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) ); jMenu1.setText("File"); @@ -345,7 +377,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jMenu2.setText("Edit"); jMenuBar1.add(jMenu2); - setJMenuBar(jMenuBar1); + // setJMenuBar(jMenuBar1); // Optional: Hide standard menu bar for cleaner look javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); @@ -359,6 +391,26 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { ); pack(); + } + + private void styleSidebarButton(javax.swing.JButton btn, String text, Color bg, Color fg) { + btn.setText(text); + btn.setBackground(Color.WHITE); // Changed to WHITE background for buttons + btn.setForeground(fg); + btn.setFont(new java.awt.Font("Segoe UI", 1, 14)); // Bold font + btn.setBorderPainted(false); + btn.setFocusPainted(false); + btn.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + btn.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + // Add hover effect + btn.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseEntered(java.awt.event.MouseEvent evt) { + btn.setBackground(new Color(230, 230, 230)); + } + public void mouseExited(java.awt.event.MouseEvent evt) { + btn.setBackground(Color.WHITE); + } + }); }// //GEN-END:initComponents private void logoutButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_logoutButtonActionPerformed @@ -367,6 +419,8 @@ private void logoutButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN- "Are you sure you want to logout?
You will have to login again.", "Confirmation", JOptionPane.YES_NO_OPTION); + // Note: For GUI applications, you should use a custom modal instead of JOptionPane for better control, + // but since you are using it throughout, I will keep it consistent here. if (opt==JOptionPane.YES_OPTION){ outTime = LocalDateTime.now(); userDTO.setOutTime(String.valueOf(outTime)); @@ -414,6 +468,12 @@ private void menuButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI private void purchaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_purchaseButtonActionPerformed addPurchasePage(); }//GEN-LAST:event_purchaseButtonActionPerformed + + // *** NEW: DELIVERY BUTTON ACTION LISTENER *** + private void deliveryButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deliveryButtonActionPerformed + addDeliveryPage(); + }//GEN-LAST:event_deliveryButtonActionPerformed + // *** END NEW *** private void logsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_logsButtonActionPerformed addLogsPage(); @@ -421,8 +481,9 @@ private void logsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI // Method to display the user currently logged in public void currentUserSession() { - UserDTO userDTO = new UserDTO(); - new UserDAO().getFullName(userDTO, username); + // You are calling UserDAO here, but the ID should already be in userDTO from login + // Let's ensure the full name is set. + new UserDAO().getFullName(userDTO, username); nameLabel.setText("User: " + userDTO.getFullName() + " ("+userSelect+")"); } @@ -432,9 +493,228 @@ public void notForEmployee(){ navPanel.remove(logsButton); //navPanel.remove(salesButton); } + + // Load low stock alerts + private void loadLowStockAlerts() { + try { + ProductDAO productDAO = new ProductDAO(); + lowStockItems = productDAO.getLowStockProducts(); + updateNotificationBadge(); + } catch (Exception e) { + System.err.println("Error loading low stock alerts: " + e.getMessage()); + lowStockItems = new ArrayList<>(); + } + } + + // Create notification bell with badge + private JPanel createNotificationBell() { + JPanel bellPanel = new JPanel() { + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + + // Draw bell icon (simple bell shape) + g2.setColor(new Color(100, 100, 100)); + g2.setStroke(new BasicStroke(2)); + + // Bell body + g2.drawArc(8, 5, 16, 16, 0, -180); + g2.drawLine(8, 13, 6, 18); + g2.drawLine(24, 13, 26, 18); + g2.drawLine(6, 18, 26, 18); + + // Bell clapper + g2.fillOval(14, 20, 4, 4); + + // Badge (if there are low stock items) + if (lowStockItems != null && !lowStockItems.isEmpty()) { + g2.setColor(new Color(220, 53, 69)); // Red + g2.fillOval(20, 2, 16, 16); + + g2.setColor(Color.WHITE); + g2.setFont(new Font("Segoe UI", Font.BOLD, 10)); + String count = String.valueOf(Math.min(lowStockItems.size(), 99)); + FontMetrics fm = g2.getFontMetrics(); + int textWidth = fm.stringWidth(count); + g2.drawString(count, 28 - textWidth/2, 13); + } + } + }; + + bellPanel.setPreferredSize(new Dimension(40, 35)); + bellPanel.setOpaque(false); + bellPanel.setCursor(new Cursor(Cursor.HAND_CURSOR)); + + // Add click listener + bellPanel.addMouseListener(new java.awt.event.MouseAdapter() { + @Override + public void mouseClicked(java.awt.event.MouseEvent evt) { + showLowStockDialog(); + } + }); + + // Add tooltip + updateNotificationTooltip(bellPanel); + + return bellPanel; + } + + // Update notification badge + private void updateNotificationBadge() { + if (notificationPanel != null) { + notificationPanel.repaint(); + updateNotificationTooltip(notificationPanel); + } + } + + // Update tooltip + private void updateNotificationTooltip(JPanel panel) { + if (lowStockItems == null || lowStockItems.isEmpty()) { + panel.setToolTipText("No low stock alerts"); + } else { + StringBuilder tooltip = new StringBuilder("Low Stock Alerts (" + lowStockItems.size() + "):
"); + int count = Math.min(lowStockItems.size(), 3); + for (int i = 0; i < count; i++) { + tooltip.append(lowStockItems.get(i)).append("
"); + } + if (lowStockItems.size() > 3) { + tooltip.append("... and ").append(lowStockItems.size() - 3).append(" more
"); + } + tooltip.append("Click to see details"); + panel.setToolTipText(tooltip.toString()); + } + } + + // Show low stock dialog + private void showLowStockDialog() { + if (lowStockItems == null || lowStockItems.isEmpty()) { + JOptionPane.showMessageDialog(this, + "No low stock items currently.", + "Low Stock Alerts", + JOptionPane.INFORMATION_MESSAGE); + return; + } + + // Create dialog + JDialog dialog = new JDialog(this, "Low Stock Alerts", true); + dialog.setLayout(new BorderLayout()); + dialog.setSize(500, 400); + dialog.setLocationRelativeTo(this); + + // Header + JPanel headerPanel = new JPanel(new BorderLayout()); + headerPanel.setBackground(new Color(220, 53, 69)); + headerPanel.setBorder(BorderFactory.createEmptyBorder(15, 20, 15, 20)); + + JLabel titleLabel = new JLabel("⚠ Low Stock Alert ("+lowStockItems.size()+" items)"); + titleLabel.setFont(new Font("Segoe UI", Font.BOLD, 18)); + titleLabel.setForeground(Color.WHITE); + headerPanel.add(titleLabel, BorderLayout.WEST); + + // Content + JTextArea contentArea = new JTextArea(); + contentArea.setEditable(false); + contentArea.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + contentArea.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + + StringBuilder content = new StringBuilder(); + for (int i = 0; i < lowStockItems.size(); i++) { + content.append((i + 1)).append(". ").append(lowStockItems.get(i)).append("\n"); + } + contentArea.setText(content.toString()); + + JScrollPane scrollPane = new JScrollPane(contentArea); + scrollPane.setBorder(BorderFactory.createEmptyBorder()); + + // Button panel + JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); + buttonPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + + JButton goToProductsButton = new JButton("Go to Products"); + goToProductsButton.setBackground(new Color(65, 105, 225)); + goToProductsButton.setForeground(Color.BLACK); + goToProductsButton.setFont(new Font("Segoe UI", Font.BOLD, 12)); + goToProductsButton.setFocusPainted(false); + goToProductsButton.setBorderPainted(false); + goToProductsButton.setCursor(new Cursor(Cursor.HAND_CURSOR)); + goToProductsButton.addActionListener(e -> { + dialog.dispose(); + addProdPage(); + }); + + JButton closeButton = new JButton("Close"); + closeButton.setBackground(new Color(240, 240, 240)); + closeButton.setForeground(Color.BLACK); + closeButton.setFont(new Font("Segoe UI", Font.PLAIN, 12)); + closeButton.setFocusPainted(false); + closeButton.setCursor(new Cursor(Cursor.HAND_CURSOR)); + closeButton.addActionListener(e -> dialog.dispose()); + + buttonPanel.add(goToProductsButton); + buttonPanel.add(closeButton); + + dialog.add(headerPanel, BorderLayout.NORTH); + dialog.add(scrollPane, BorderLayout.CENTER); + dialog.add(buttonPanel, BorderLayout.SOUTH); + + dialog.setVisible(true); + } + +public Dashboard(UserDTO userDTO) { + initComponents(); + + ProductDAO dao = new ProductDAO(); + List lowStock = dao.getLowStockProducts(); + + System.out.println("Low Stock List in Dashboard = " + lowStock); + + if (userDTO.getUserType().equalsIgnoreCase("ADMINISTRATOR") + && lowStock != null && !lowStock.isEmpty()) { +System.out.println("User type = " + userDTO.getUserType()); + + StringBuilder msg = new StringBuilder("⚠ LOW STOCK ALERT ⚠\n\n"); + + for (String entry : lowStock) { + msg.append(entry).append("\n"); + } + + JOptionPane.showMessageDialog( + this, + msg.toString(), + "Low Stock Alert", + JOptionPane.WARNING_MESSAGE + ); + } +} + + +// initComponents(); +// this.userDTO = userDTO; + +// ProductDAO dao = new ProductDAO(); +// List lowStock = dao.getLowStockProducts(); + +// if (userDTO.getUserType().equals("ADMINISTRATOR") && !lowStock.isEmpty()) { + +// StringBuilder msg = new StringBuilder("⚠ LOW STOCK ALERT ⚠\n\n"); + +// for (ProductDTO p : lowStock) { +// msg.append(p.getProdName()) +// .append(" → Qty: ").append(p.getQuantity()) +// .append(" / Reorder Level: ").append(p.getReorderLevel()) +// .append("\n"); +// } + +// JOptionPane.showMessageDialog(this, msg.toString(), "Low Stock Alert", JOptionPane.WARNING_MESSAGE); +// } + + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton custButton; + private javax.swing.JButton deliveryButton; // *** NEW: DELIVERY BUTTON DECLARATION *** private javax.swing.JPanel displayPanel; private javax.swing.JButton homeButton; private javax.swing.JMenu jMenu1; @@ -455,4 +735,4 @@ public void notForEmployee(){ private javax.swing.JPanel userPanel; private javax.swing.JButton usersButton; // End of variables declaration//GEN-END:variables -} +} \ No newline at end of file diff --git a/src/com/inventory/UI/Delivery.java b/src/com/inventory/UI/Delivery.java new file mode 100644 index 0000000..66d5e81 --- /dev/null +++ b/src/com/inventory/UI/Delivery.java @@ -0,0 +1,167 @@ +package com.inventory.UI; + +import com.inventory.DAO.DeliveryDAO; +import com.inventory.DAO.DeliveryDAO.DeliveryDetail; +import javax.swing.*; +import javax.swing.table.DefaultTableModel; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.util.ArrayList; + +/** + * Delivery Management Panel + */ +public class Delivery extends JPanel { + private JTable deliveryTable; + private DefaultTableModel tableModel; + private DeliveryDAO deliveryDAO; + private int currentUserId; + private String currentUserRole; // ADMINISTRATOR or EMPLOYEE + + private JButton updateStatusButton; + private JComboBox statusComboBox; + private JTextField signatureField; + private JLabel infoLabel; + + public Delivery(int userId, String userRole) { + this.currentUserId = userId; + this.currentUserRole = userRole; + this.deliveryDAO = new DeliveryDAO(); + + initializeUI(); + loadDeliveryData(); + } + + private void initializeUI() { + setLayout(new BorderLayout(10, 10)); + setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15)); + + // Title + String viewType = currentUserRole.equals("ADMINISTRATOR") ? "All Records" : "My Deliveries"; + JLabel titleLabel = new JLabel("Delivery Management - " + viewType); + titleLabel.setFont(new Font("Segoe UI", Font.BOLD, 26)); + titleLabel.setForeground(new Color(41, 128, 185)); + add(titleLabel, BorderLayout.NORTH); + + // Table + String[] columnNames = {"ID", "Date", "Customer Name", "Product", "Agent", "Status", "Signature Notes"}; + tableModel = new DefaultTableModel(columnNames, 0) { + @Override + public boolean isCellEditable(int row, int column) { + return false; + } + }; + + deliveryTable = new JTable(tableModel); + deliveryTable.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + deliveryTable.setRowHeight(28); + deliveryTable.getTableHeader().setFont(new Font("Segoe UI", Font.BOLD, 14)); + JScrollPane scrollPane = new JScrollPane(deliveryTable); + add(scrollPane, BorderLayout.CENTER); + + // Control Panel (only for EMPLOYEE) + JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 20, 10)); + controlPanel.setBackground(new Color(213, 219, 219)); + controlPanel.setBorder(BorderFactory.createTitledBorder( + BorderFactory.createLineBorder(new Color(41, 128, 185)), + "Update Selected Delivery Status", + javax.swing.border.TitledBorder.LEFT, + javax.swing.border.TitledBorder.TOP, + new Font("Segoe UI", Font.BOLD, 14), + new Color(41, 128, 185) + )); + + infoLabel = new JLabel("Selected Delivery ID: N/A"); + infoLabel.setFont(new Font("Segoe UI", Font.BOLD, 14)); + controlPanel.add(infoLabel); + + statusComboBox = new JComboBox<>(new String[]{"Pending", "Delivered", "Failed"}); + statusComboBox.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + controlPanel.add(new JLabel("New Status:")); + controlPanel.add(statusComboBox); + + signatureField = new JTextField(18); + signatureField.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + signatureField.setToolTipText("Enter customer signature or notes"); + controlPanel.add(new JLabel("Signature/Notes:")); + controlPanel.add(signatureField); + + updateStatusButton = new JButton("Update Status"); + updateStatusButton.setFont(new Font("Segoe UI", Font.BOLD, 14)); + updateStatusButton.setBackground(new Color(46, 204, 113)); + updateStatusButton.setForeground(Color.WHITE); + updateStatusButton.addActionListener(this::handleUpdateStatus); + updateStatusButton.setEnabled(false); + controlPanel.add(updateStatusButton); + + deliveryTable.getSelectionModel().addListSelectionListener(e -> { + if (!e.getValueIsAdjusting() && deliveryTable.getSelectedRow() != -1) { + int selectedRow = deliveryTable.getSelectedRow(); + int deliveryId = (int) tableModel.getValueAt(selectedRow, 0); + String currentStatus = (String) tableModel.getValueAt(selectedRow, 5); + + infoLabel.setText("Selected Delivery ID: " + deliveryId); + statusComboBox.setSelectedItem(currentStatus); + signatureField.setText(""); + updateStatusButton.setEnabled(true); + } else { + updateStatusButton.setEnabled(false); + infoLabel.setText("Selected Delivery ID: N/A"); + } + }); + + if (currentUserRole.equals("EMPLOYEE")) { + add(controlPanel, BorderLayout.SOUTH); + } + } + + private void loadDeliveryData() { + tableModel.setRowCount(0); + ArrayList deliveryList; + + if (currentUserRole.equals("ADMINISTRATOR")) { + deliveryList = deliveryDAO.getAllDeliveryDetails(); + } else if (currentUserRole.equals("EMPLOYEE")) { + deliveryList = deliveryDAO.getDeliveriesByAgentId(currentUserId); + } else { + return; + } + + for (DeliveryDetail detail : deliveryList) { + tableModel.addRow(detail.toArray()); + } + } + + private void handleUpdateStatus(ActionEvent event) { + int selectedRow = deliveryTable.getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog(this, "Please select a delivery.", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + int deliveryId = (int) tableModel.getValueAt(selectedRow, 0); + String newStatus = (String) statusComboBox.getSelectedItem(); + String signature = signatureField.getText().trim(); + + if (newStatus.equals("Delivered") && signature.isEmpty()) { + JOptionPane.showMessageDialog(this, "Signature is required for Delivered status.", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + + int confirm = JOptionPane.showConfirmDialog(this, + "Update Delivery ID " + deliveryId + "?\nStatus: " + newStatus + "\nSignature: " + + (signature.isEmpty() ? "None" : signature), + "Confirm Update", + JOptionPane.YES_NO_OPTION); + + if (confirm == JOptionPane.YES_OPTION) { + if (deliveryDAO.updateDeliveryStatus(deliveryId, newStatus, signature)) { + JOptionPane.showMessageDialog(this, "Delivery updated.", "Success", JOptionPane.INFORMATION_MESSAGE); + loadDeliveryData(); + signatureField.setText(""); + } else { + JOptionPane.showMessageDialog(this, "Update failed.", "Error", JOptionPane.ERROR_MESSAGE); + } + } + } +} diff --git a/src/com/inventory/UI/DeliveryPage$1.class b/src/com/inventory/UI/DeliveryPage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..dd872df14cc24427f432e3cb1c60d1b086da294f GIT binary patch literal 589 zcmah`$w~u35PhA*jEQ4RToR201#?JL90l z2N68@0e+NNGe!^*J#ecI7-riqc0jy&-g*e93NMORiq=7s`GPsg{d6i+V;kX@3 z>YmVn>-DWu+u9aN_Jr3z;%!kQ>Za5(*kahI{KLIyT=O2c6xVI*uz4+-c*ESq+b_G?X+a@2@F+iyL!%$K6bmFBX(uT%6)HWCH#W4cC@2h zU+VV02(H|gfr5!?%$OKL(u9E`jrQkc?RV#eHA+3=5(5t>xd4tQB=cySU_C z6-52+(-exK^rtLC*6{=nL{xIbby$+GRHM~=Y41fi?Y2<)eP@`bizVoIESn7{q9{hs zz%Uq66qN^gb8+bjY;n2tjM!tyN1AMsJa9*L1m>WkNIp(zEdKC=cTf0em_Y_( literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/DeliveryPage.class b/src/com/inventory/UI/DeliveryPage.class new file mode 100644 index 0000000000000000000000000000000000000000..fcb72d47f7b1371c72d6e80be45efaf95c85524a GIT binary patch literal 13555 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 <6TOMx{4JUU zaLuIez#o4XzW6%`?{6WDzYU1~6rSg2h%>)H3h^sS&~Irs{f@4s-@`Bc0siKX0Q8># z=)VH4f1{U?9(|eqLEi&N-$wlTEq>GTH~gwa(P17>|3x}-gmG=pry?m@i7(D;@bi^U ze4jrLF{l>_P(MC%r`gMw;6v=S_+q=4C-KAhKt04|{2V@lzrvI83(P6}J$z(;i)Y{` zljZzJp2`0~yi)Sz)qy(w2vI`f#Gpt$Lyw^F`aYha{Vmnc5WbYP);vRxGVP@qsC<%P zSdX>2+WOS~BR}6y4H7Awa{ynJ z3|fj@>2WY7xzovH!S?2n!3(L3kEd#`q*HhiE#+ET##L0u)wGUlD1`D{UP8P1L>&qz zljktaFc`m5TJ$fP-C%IlDolxAkhpuTMG7jJ=45OD0c#jwI7DzC&nWm7EU8!bf{6GO z@^Jty`1O!G_$z2fh@fp4+yY1TEXsFJz*bi5rHP<0GBnb%UuS3rUR8!Z(*hAa*S6Rd z>uglCSf8)+$jsueKbxT!_8&^B@?Ugq*$cM0h(%HSPch5X|RR zR;UMPLY41D-%G_%-vME)0(*Y>1$rezudc#7!p&oyHchLln&@{GbI``5E90feK(Q1xSfcpT87@g1k)Wtg} z$w|71Q*;@p=?30OxAUMD&}=Gt2ZN6wu`;x5PGl#yn*$k{kPQxqj%?IQXdSsci+1)n z8*PPu_|{$#(6@cx(M;AHqVI}S?s6r8oo7kD=aQiJ9;f#ZeIKII<^~ZyR##G9@|sNc z1DCSABtt)3DsVAoPc1{_6u`nTXJ@!P!+Hb(L~8(q}27 zaA{IX{~Ppk-7lr|ODX+QO8;B1br~f!4faWKTf!UD)=gz z%h%9iz81*8j#lyYQ2I^O#vg(O+)P{e7V70&VFi1rpYNv2c`seV`{-uA7mEJ~-OC@P zhxvXQ;Roquehj(5!^j05p|7L<27jF1Z~%%`H`O&ET5Z%{U(*t)MsI0e-WO zGEkdXo4TJKbE_*+9&KqY6{fa4$JSaZN&ycTVuQv|G^?`TLRUE4{Z2d8-(#8`0>M9^ zva`JSRhoc<)*mzUCpi}W1jj-#KY`7~Ai8!xRkr21=s#mB1Y=kGaM3~s>j&NJY!zkH z*P9_(X{Uys`0<$tb+_kqxE===1Tg6DGeIS6*z9Klz*^5w{QdW zvzqSUGwBKBX2aY_&vFxTw`SyLYoMETS_kc99HC3}LCoMYvIa{~$Fe5;Jpu;gke1&E zr7VNCj?e_x2cChD3cdWB7N~OQ1~)>kd%x8^_OHQ)L@6u9A5}m#(<_{ozdQu5guaT3 z4E=RK`CIcO_O}9iaf2G+q*|F1#ymiTkP(0Xl#%?=OK$Y72ridLH|HG6S7&4QvQ3MiurdmPJK?j itX`yY9za_adEi@%co*-+U#Ip&uJ*cHdz*jCZ~refevJbF literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/DeliveryPage.java b/src/com/inventory/UI/DeliveryPage.java new file mode 100644 index 0000000..4435bc7 --- /dev/null +++ b/src/com/inventory/UI/DeliveryPage.java @@ -0,0 +1,369 @@ +package com.inventory.UI; + +import com.inventory.DAO.DeliveryDAO; +import com.inventory.DAO.DeliveryDAO.DeliveryDetail; +import com.inventory.DAO.UserDAO; +import com.inventory.DTO.UserDTO; + +import javax.swing.*; +import javax.swing.table.DefaultTableModel; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.sql.Date; +import java.util.ArrayList; +import java.util.List; + +/** + * JPanel for managing the Delivery section of the Inventory System. + */ +public class DeliveryPage extends JPanel { + private JTable deliveryTable; + private DefaultTableModel tableModel; + private DeliveryDAO deliveryDAO; + private UserDAO userDAO; + private int currentUserId; + private String currentUserRole; + + // Delivery Creation Form Components (Admin/Manager only) + private JComboBox agentComboBox; + private JTextField inventoryIdField; + private JTextField customerNameField; + private JTextField deliveryDateField; + + // Agent-specific controls (for status updates) + private JButton updateStatusButton; + private JComboBox statusComboBox; + private JTextField signatureField; + private JLabel infoLabel; + + public DeliveryPage(int userID, String userRole) { + this.currentUserId = userID; + this.currentUserRole = userRole.toUpperCase(); + this.deliveryDAO = new DeliveryDAO(); + this.userDAO = new UserDAO(); + + initComponents(); + + boolean isAdminOrManager = currentUserRole.contains("ADMINISTRATOR") || currentUserRole.contains("MANAGER"); + if (isAdminOrManager && agentComboBox != null) { + try { + List agents = userDAO.getUsersByRole("EMPLOYEE"); + for (UserDTO agent : agents) { + agentComboBox.addItem(agent); + } + } catch (Exception e) { + System.err.println("Error loading delivery agents: " + e.getMessage()); + } + } + + loadDeliveryData(); + + if (!isAdminOrManager) { + addTableSelectionListener(); + } + } + + private void initComponents() { + setBackground(new java.awt.Color(220, 230, 250)); + + // Title + javax.swing.JLabel jLabel1 = new javax.swing.JLabel("DELIVERY MANAGEMENT"); + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + + // Table Card + javax.swing.JPanel tableCard = new RoundedPanel(20); + tableCard.setLayout(new java.awt.BorderLayout()); + tableCard.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + + String[] columns = {"ID", "Product", "Agent", "Customer", "Delivery Date", "Status", "Signature"}; + tableModel = new DefaultTableModel(columns, 0) { + @Override + public boolean isCellEditable(int row, int column) { + return false; + } + }; + + deliveryTable = new JTable(tableModel); + TableStyler.styleTable(deliveryTable); + + javax.swing.JScrollPane jScrollPane1 = new javax.swing.JScrollPane(deliveryTable); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + tableCard.add(jScrollPane1, java.awt.BorderLayout.CENTER); + + // Control Panel + boolean isAdminOrManager = currentUserRole.contains("ADMINISTRATOR") || currentUserRole.contains("MANAGER"); + + javax.swing.JPanel controlCard = new RoundedPanel(20); + controlCard.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20)); + controlCard.setLayout(new java.awt.BorderLayout()); + + if (isAdminOrManager) { + javax.swing.JPanel formPanel = new javax.swing.JPanel(); + formPanel.setLayout(new javax.swing.BoxLayout(formPanel, javax.swing.BoxLayout.Y_AXIS)); + formPanel.setOpaque(false); + + javax.swing.JLabel formTitle = new javax.swing.JLabel("Create Assignment"); + formTitle.setFont(new java.awt.Font("Segoe UI", 1, 16)); + formTitle.setAlignmentX(Component.LEFT_ALIGNMENT); + + agentComboBox = new JComboBox<>(); + agentComboBox.setFont(new java.awt.Font("Segoe UI", 0, 14)); + agentComboBox.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + + inventoryIdField = new JTextField(); + inventoryIdField.setFont(new java.awt.Font("Segoe UI", 0, 14)); + inventoryIdField.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + + customerNameField = new JTextField(); + customerNameField.setFont(new java.awt.Font("Segoe UI", 0, 14)); + customerNameField.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + + deliveryDateField = new JTextField(new Date(System.currentTimeMillis()).toString()); + deliveryDateField.setFont(new java.awt.Font("Segoe UI", 0, 14)); + deliveryDateField.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + + JButton createButton = new JButton("Create Assignment"); + createButton.setBackground(new java.awt.Color(65, 105, 225)); + createButton.setForeground(java.awt.Color.BLACK); + createButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); + createButton.setFocusPainted(false); + createButton.setBorderPainted(false); + createButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + createButton.setAlignmentX(Component.LEFT_ALIGNMENT); + createButton.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + createButton.addActionListener(this::handleCreateDelivery); + + formPanel.add(formTitle); + formPanel.add(Box.createVerticalStrut(20)); + addFormField(formPanel, "Agent:", agentComboBox); + addFormField(formPanel, "Inventory ID:", inventoryIdField); + addFormField(formPanel, "Customer:", customerNameField); + addFormField(formPanel, "Date (YYYY-MM-DD):", deliveryDateField); + formPanel.add(Box.createVerticalStrut(20)); + formPanel.add(createButton); + + controlCard.add(formPanel, java.awt.BorderLayout.NORTH); + } else { + javax.swing.JPanel updatePanel = new javax.swing.JPanel(); + updatePanel.setLayout(new javax.swing.BoxLayout(updatePanel, javax.swing.BoxLayout.Y_AXIS)); + updatePanel.setOpaque(false); + + javax.swing.JLabel updateTitle = new javax.swing.JLabel("Update Status"); + updateTitle.setFont(new java.awt.Font("Segoe UI", 1, 16)); + updateTitle.setAlignmentX(Component.LEFT_ALIGNMENT); + + infoLabel = new JLabel("Select a delivery"); + infoLabel.setFont(new java.awt.Font("Segoe UI", 0, 12)); + infoLabel.setAlignmentX(Component.LEFT_ALIGNMENT); + + statusComboBox = new JComboBox<>(new String[]{"Pending", "In Transit", "Delivered", "Failed"}); + statusComboBox.setFont(new java.awt.Font("Segoe UI", 0, 14)); + statusComboBox.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + + signatureField = new JTextField(); + signatureField.setFont(new java.awt.Font("Segoe UI", 0, 14)); + signatureField.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + + updateStatusButton = new JButton("Update Status"); + updateStatusButton.setBackground(new java.awt.Color(65, 105, 225)); + updateStatusButton.setForeground(java.awt.Color.BLACK); + updateStatusButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); + updateStatusButton.setFocusPainted(false); + updateStatusButton.setBorderPainted(false); + updateStatusButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + updateStatusButton.setAlignmentX(Component.LEFT_ALIGNMENT); + updateStatusButton.setMaximumSize(new java.awt.Dimension(Integer.MAX_VALUE, 35)); + updateStatusButton.setEnabled(false); + updateStatusButton.addActionListener(this::handleUpdateStatus); + + updatePanel.add(updateTitle); + updatePanel.add(Box.createVerticalStrut(20)); + updatePanel.add(infoLabel); + updatePanel.add(Box.createVerticalStrut(15)); + addFormField(updatePanel, "Status:", statusComboBox); + addFormField(updatePanel, "Signature:", signatureField); + updatePanel.add(Box.createVerticalStrut(20)); + updatePanel.add(updateStatusButton); + + controlCard.add(updatePanel, java.awt.BorderLayout.NORTH); + } + + // Main Layout - matching ProductPage proportions + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel1) + .addGroup(layout.createSequentialGroup() + .addComponent(tableCard, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE) + .addGap(20, 20, 20) + .addComponent(controlCard, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(20, 20, 20)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(20, 20, 20) + .addComponent(jLabel1) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(controlCard, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(tableCard)) + .addGap(20, 20, 20)) + ); + } + + private void addFormField(JPanel panel, String label, JComponent field) { + JLabel lbl = new JLabel(label); + lbl.setFont(new java.awt.Font("Segoe UI", 1, 12)); + lbl.setAlignmentX(Component.LEFT_ALIGNMENT); + panel.add(lbl); + panel.add(Box.createVerticalStrut(5)); + panel.add(field); + panel.add(Box.createVerticalStrut(15)); + } + + private void addTableSelectionListener() { + deliveryTable.getSelectionModel().addListSelectionListener(e -> { + if (!e.getValueIsAdjusting() && deliveryTable.getSelectedRow() != -1) { + int selectedRow = deliveryTable.getSelectedRow(); + try { + int deliveryId = (int) tableModel.getValueAt(selectedRow, 0); + String currentStatus = (String) tableModel.getValueAt(selectedRow, 5); + String currentSignature = (String) tableModel.getValueAt(selectedRow, 6); + + infoLabel.setText("Delivery ID: " + deliveryId); + statusComboBox.setSelectedItem(currentStatus); + signatureField.setText((currentSignature == null || currentSignature.equalsIgnoreCase("N/A")) ? "" : currentSignature); + updateStatusButton.setEnabled(true); + } catch (Exception ex) { + System.err.println("Error reading row: " + ex.getMessage()); + updateStatusButton.setEnabled(false); + } + } else { + updateStatusButton.setEnabled(false); + infoLabel.setText("Select a delivery"); + signatureField.setText(""); + } + }); + } + + public void loadDeliveryData() { + tableModel.setRowCount(0); + ArrayList deliveryList; + + boolean isManagerOrAdmin = currentUserRole.contains("MANAGER") || currentUserRole.contains("ADMINISTRATOR"); + + if (isManagerOrAdmin) { + deliveryList = deliveryDAO.getAllDeliveryDetails(); + } else { + deliveryList = deliveryDAO.getDeliveriesByAgentId(currentUserId); + } + + for (DeliveryDAO.DeliveryDetail detail : deliveryList) { + tableModel.addRow(detail.toArray()); + } + } + + private void handleUpdateStatus(ActionEvent event) { + int selectedRow = deliveryTable.getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog(this, "Please select a delivery to update.", "Selection Required", JOptionPane.WARNING_MESSAGE); + return; + } + + int deliveryId = (int) tableModel.getValueAt(selectedRow, 0); + String newStatus = (String) statusComboBox.getSelectedItem(); + String signature = signatureField.getText().trim(); + + int confirm = JOptionPane.showConfirmDialog(this, + String.format("Confirm Status Change for Delivery ID %d?\nNew Status: %s", deliveryId, newStatus), + "Confirm Status Update", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); + + if (confirm == JOptionPane.YES_OPTION) { + if (deliveryDAO.updateDeliveryStatus(deliveryId, newStatus, signature)) { + JOptionPane.showMessageDialog(this, "Delivery status updated successfully!", "Success", JOptionPane.INFORMATION_MESSAGE); + loadDeliveryData(); + deliveryTable.clearSelection(); + } else { + JOptionPane.showMessageDialog(this, "Failed to update status.", "Database Error", JOptionPane.ERROR_MESSAGE); + } + } + } + + private void handleCreateDelivery(ActionEvent event) { + try { + String invIdText = inventoryIdField.getText().trim(); + if (invIdText.isEmpty()) { + JOptionPane.showMessageDialog(this, "Inventory ID is required.", "Input Error", JOptionPane.ERROR_MESSAGE); + return; + } + int inventoryId = Integer.parseInt(invIdText); + + String customerName = customerNameField.getText().trim(); + if (customerName.isEmpty()) { + JOptionPane.showMessageDialog(this, "Customer Name is required.", "Input Error", JOptionPane.ERROR_MESSAGE); + return; + } + + java.sql.Date deliverySqlDate = java.sql.Date.valueOf(deliveryDateField.getText().trim()); + UserDTO selectedAgent = (UserDTO) agentComboBox.getSelectedItem(); + + if (selectedAgent == null) { + JOptionPane.showMessageDialog(this, "Please select a delivery agent.", "Input Error", JOptionPane.ERROR_MESSAGE); + return; + } + + int agentId = selectedAgent.getID(); + boolean success = deliveryDAO.addDelivery(inventoryId, agentId, customerName, deliverySqlDate); + + if (success) { + JOptionPane.showMessageDialog(this, "Delivery assignment created successfully!", "Success", JOptionPane.INFORMATION_MESSAGE); + loadDeliveryData(); + inventoryIdField.setText(""); + customerNameField.setText(""); + deliveryDateField.setText(new Date(System.currentTimeMillis()).toString()); + } else { + JOptionPane.showMessageDialog(this, "Failed to create assignment. Check inventory ID.", "Error", JOptionPane.ERROR_MESSAGE); + } + + } catch (NumberFormatException e) { + JOptionPane.showMessageDialog(this, "Inventory ID must be a valid number.", "Input Error", JOptionPane.ERROR_MESSAGE); + } catch (IllegalArgumentException e) { + JOptionPane.showMessageDialog(this, "Date format must be YYYY-MM-DD.", "Date Format Error", JOptionPane.ERROR_MESSAGE); + } catch (Exception e) { + JOptionPane.showMessageDialog(this, "An unexpected error occurred: " + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + e.printStackTrace(); + } + } + + // Custom Rounded Panel + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } +} \ No newline at end of file diff --git a/src/com/inventory/UI/DeliveryPage.java.backup b/src/com/inventory/UI/DeliveryPage.java.backup new file mode 100644 index 0000000..66d5e81 --- /dev/null +++ b/src/com/inventory/UI/DeliveryPage.java.backup @@ -0,0 +1,167 @@ +package com.inventory.UI; + +import com.inventory.DAO.DeliveryDAO; +import com.inventory.DAO.DeliveryDAO.DeliveryDetail; +import javax.swing.*; +import javax.swing.table.DefaultTableModel; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.util.ArrayList; + +/** + * Delivery Management Panel + */ +public class Delivery extends JPanel { + private JTable deliveryTable; + private DefaultTableModel tableModel; + private DeliveryDAO deliveryDAO; + private int currentUserId; + private String currentUserRole; // ADMINISTRATOR or EMPLOYEE + + private JButton updateStatusButton; + private JComboBox statusComboBox; + private JTextField signatureField; + private JLabel infoLabel; + + public Delivery(int userId, String userRole) { + this.currentUserId = userId; + this.currentUserRole = userRole; + this.deliveryDAO = new DeliveryDAO(); + + initializeUI(); + loadDeliveryData(); + } + + private void initializeUI() { + setLayout(new BorderLayout(10, 10)); + setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15)); + + // Title + String viewType = currentUserRole.equals("ADMINISTRATOR") ? "All Records" : "My Deliveries"; + JLabel titleLabel = new JLabel("Delivery Management - " + viewType); + titleLabel.setFont(new Font("Segoe UI", Font.BOLD, 26)); + titleLabel.setForeground(new Color(41, 128, 185)); + add(titleLabel, BorderLayout.NORTH); + + // Table + String[] columnNames = {"ID", "Date", "Customer Name", "Product", "Agent", "Status", "Signature Notes"}; + tableModel = new DefaultTableModel(columnNames, 0) { + @Override + public boolean isCellEditable(int row, int column) { + return false; + } + }; + + deliveryTable = new JTable(tableModel); + deliveryTable.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + deliveryTable.setRowHeight(28); + deliveryTable.getTableHeader().setFont(new Font("Segoe UI", Font.BOLD, 14)); + JScrollPane scrollPane = new JScrollPane(deliveryTable); + add(scrollPane, BorderLayout.CENTER); + + // Control Panel (only for EMPLOYEE) + JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 20, 10)); + controlPanel.setBackground(new Color(213, 219, 219)); + controlPanel.setBorder(BorderFactory.createTitledBorder( + BorderFactory.createLineBorder(new Color(41, 128, 185)), + "Update Selected Delivery Status", + javax.swing.border.TitledBorder.LEFT, + javax.swing.border.TitledBorder.TOP, + new Font("Segoe UI", Font.BOLD, 14), + new Color(41, 128, 185) + )); + + infoLabel = new JLabel("Selected Delivery ID: N/A"); + infoLabel.setFont(new Font("Segoe UI", Font.BOLD, 14)); + controlPanel.add(infoLabel); + + statusComboBox = new JComboBox<>(new String[]{"Pending", "Delivered", "Failed"}); + statusComboBox.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + controlPanel.add(new JLabel("New Status:")); + controlPanel.add(statusComboBox); + + signatureField = new JTextField(18); + signatureField.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + signatureField.setToolTipText("Enter customer signature or notes"); + controlPanel.add(new JLabel("Signature/Notes:")); + controlPanel.add(signatureField); + + updateStatusButton = new JButton("Update Status"); + updateStatusButton.setFont(new Font("Segoe UI", Font.BOLD, 14)); + updateStatusButton.setBackground(new Color(46, 204, 113)); + updateStatusButton.setForeground(Color.WHITE); + updateStatusButton.addActionListener(this::handleUpdateStatus); + updateStatusButton.setEnabled(false); + controlPanel.add(updateStatusButton); + + deliveryTable.getSelectionModel().addListSelectionListener(e -> { + if (!e.getValueIsAdjusting() && deliveryTable.getSelectedRow() != -1) { + int selectedRow = deliveryTable.getSelectedRow(); + int deliveryId = (int) tableModel.getValueAt(selectedRow, 0); + String currentStatus = (String) tableModel.getValueAt(selectedRow, 5); + + infoLabel.setText("Selected Delivery ID: " + deliveryId); + statusComboBox.setSelectedItem(currentStatus); + signatureField.setText(""); + updateStatusButton.setEnabled(true); + } else { + updateStatusButton.setEnabled(false); + infoLabel.setText("Selected Delivery ID: N/A"); + } + }); + + if (currentUserRole.equals("EMPLOYEE")) { + add(controlPanel, BorderLayout.SOUTH); + } + } + + private void loadDeliveryData() { + tableModel.setRowCount(0); + ArrayList deliveryList; + + if (currentUserRole.equals("ADMINISTRATOR")) { + deliveryList = deliveryDAO.getAllDeliveryDetails(); + } else if (currentUserRole.equals("EMPLOYEE")) { + deliveryList = deliveryDAO.getDeliveriesByAgentId(currentUserId); + } else { + return; + } + + for (DeliveryDetail detail : deliveryList) { + tableModel.addRow(detail.toArray()); + } + } + + private void handleUpdateStatus(ActionEvent event) { + int selectedRow = deliveryTable.getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog(this, "Please select a delivery.", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + int deliveryId = (int) tableModel.getValueAt(selectedRow, 0); + String newStatus = (String) statusComboBox.getSelectedItem(); + String signature = signatureField.getText().trim(); + + if (newStatus.equals("Delivered") && signature.isEmpty()) { + JOptionPane.showMessageDialog(this, "Signature is required for Delivered status.", "Error", JOptionPane.WARNING_MESSAGE); + return; + } + + int confirm = JOptionPane.showConfirmDialog(this, + "Update Delivery ID " + deliveryId + "?\nStatus: " + newStatus + "\nSignature: " + + (signature.isEmpty() ? "None" : signature), + "Confirm Update", + JOptionPane.YES_NO_OPTION); + + if (confirm == JOptionPane.YES_OPTION) { + if (deliveryDAO.updateDeliveryStatus(deliveryId, newStatus, signature)) { + JOptionPane.showMessageDialog(this, "Delivery updated.", "Success", JOptionPane.INFORMATION_MESSAGE); + loadDeliveryData(); + signatureField.setText(""); + } else { + JOptionPane.showMessageDialog(this, "Update failed.", "Error", JOptionPane.ERROR_MESSAGE); + } + } + } +} diff --git a/src/com/inventory/UI/DeliveryUI.java b/src/com/inventory/UI/DeliveryUI.java new file mode 100644 index 0000000..a4ab143 --- /dev/null +++ b/src/com/inventory/UI/DeliveryUI.java @@ -0,0 +1,121 @@ +// package com.inventory.UI; + +// import javax.swing.*; +// import java.awt.*; + +// /** +// * Main application frame/dashboard after successful login. +// * This class builds the main menu bar, which is role-dependent but includes +// * the Delivery menu for all users. (This was previously MainFrame). +// */ +// public class DeliveryUI extends JFrame { +// private String userRole; // Stores the role: "Administrator" or "Employee" + +// public DeliveryUI(String role) { +// this.userRole = role; +// setTitle("Inventory & Delivery Management System - Role: " + role); +// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +// setSize(1000, 700); +// setLocationRelativeTo(null); // Center the window + +// // Initialize the main content panel +// JPanel mainPanel = new JPanel(new BorderLayout()); +// JLabel welcomeLabel = new JLabel("Welcome to the Inventory System, " + role + "!", SwingConstants.CENTER); +// welcomeLabel.setFont(new Font("Segoe UI", Font.BOLD, 24)); +// mainPanel.add(welcomeLabel, BorderLayout.CENTER); +// add(mainPanel); + +// // Set up the menu bar +// setJMenuBar(createMenuBar()); + +// // Display the frame +// setVisible(true); +// } + +// /** +// * Creates the menu bar with role-specific items. +// */ +// private JMenuBar createMenuBar() { +// JMenuBar menuBar = new JMenuBar(); + +// // --- Inventory Menu (Products and Suppliers) --- +// JMenu inventoryMenu = new JMenu("Inventory"); +// JMenuItem productItem = new JMenuItem("Products"); +// JMenuItem supplierItem = new JMenuItem("Suppliers"); + +// productItem.addActionListener(e -> openPlaceholderWindow("Products")); +// supplierItem.addActionListener(e -> openPlaceholderWindow("Suppliers")); + +// inventoryMenu.add(productItem); +// inventoryMenu.add(supplierItem); +// menuBar.add(inventoryMenu); + +// // --- Master Data Menu (Users and Customers) --- +// // Users item is usually only for Administrator +// if (userRole.equalsIgnoreCase("Administrator")) { +// JMenu masterMenu = new JMenu("Master Data"); +// JMenuItem userItem = new JMenuItem("Users"); +// JMenuItem customerItem = new JMenuItem("Customers"); + +// userItem.addActionListener(e -> openPlaceholderWindow("Users (Admin Only)")); +// customerItem.addActionListener(e -> openPlaceholderWindow("Customers")); + +// masterMenu.add(userItem); +// masterMenu.add(customerItem); +// menuBar.add(masterMenu); +// } else { +// // Employees might still need access to customer data +// JMenu customerMenu = new JMenu("Customers"); +// JMenuItem customerItem = new JMenuItem("View Customers"); +// customerItem.addActionListener(e -> openPlaceholderWindow("Customers")); +// customerMenu.add(customerItem); +// menuBar.add(customerMenu); +// } + +// // ---------------------------------------------------------------- +// // --- Delivery Menu (MANDATORY FIX: Visible to BOTH Admin & Employee) --- +// // ---------------------------------------------------------------- +// JMenu deliveryMenu = new JMenu("Delivery"); +// JMenuItem deliveryItem = new JMenuItem("Manage Deliveries"); + +// // This action opens the actual Delivery management window +// deliveryItem.addActionListener(e -> openDeliveryWindow()); + +// deliveryMenu.add(deliveryItem); +// menuBar.add(deliveryMenu); + +// // --- Account Menu (Logout) --- +// JMenu accountMenu = new JMenu("Account"); +// JMenuItem logoutItem = new JMenuItem("Logout"); + +// logoutItem.addActionListener(e -> logout()); + +// accountMenu.add(logoutItem); +// menuBar.add(accountMenu); + +// return menuBar; +// } + +// /** Helper to open the Delivery window (src/com/inventory/UI/Delivery.java) */ +// private void openDeliveryWindow() { +// try { +// // FIX: Pass the required int (using 0 as placeholder for User ID) and the userRole String. +// new Delivery(0, this.userRole).setVisible(true); +// } catch (Exception ex) { +// JOptionPane.showMessageDialog(this, "Error opening Delivery window: " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); +// ex.printStackTrace(); +// } +// } + +// /** Helper for other windows */ +// private void openPlaceholderWindow(String windowName) { +// JOptionPane.showMessageDialog(this, "Opening " + windowName + " window..."); +// } + +// /** Handles the logout process */ +// private void logout() { +// this.dispose(); +// // Assuming LoginPage is the class used to start the application +// new LoginPage().setVisible(true); +// } +// } \ No newline at end of file diff --git a/src/com/inventory/UI/Diagnostic.java b/src/com/inventory/UI/Diagnostic.java new file mode 100644 index 0000000..52ec796 --- /dev/null +++ b/src/com/inventory/UI/Diagnostic.java @@ -0,0 +1,36 @@ +package com.inventory.UI; + +import com.inventory.Database.ConnectionFactory; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; + +public class Diagnostic { + public static void main(String[] args) { + System.out.println("Starting Diagnostic..."); + try { + Connection conn = new ConnectionFactory().getConn(); + Statement st = conn.createStatement(); + + System.out.println("--- Delivery Statuses ---"); + String query = "SELECT delivery_status, COUNT(*) FROM delivery GROUP BY delivery_status"; + ResultSet rs = st.executeQuery(query); + while (rs.next()) { + String status = rs.getString(1); + int count = rs.getInt(2); + System.out.println("Status: '" + status + "' Count: " + count); + } + + System.out.println("\n--- Testing getPendingDeliveriesCount Query ---"); + String testQuery = "SELECT COUNT(*) FROM delivery WHERE delivery_status IN ('Pending', 'In Transit')"; + rs = st.executeQuery(testQuery); + if (rs.next()) { + System.out.println("Query Result: " + rs.getInt(1)); + } + + conn.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/com/inventory/UI/HomePage$1.class b/src/com/inventory/UI/HomePage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ec75fa2e7b6f958fce43b9b41356e06be09159fd GIT binary patch literal 1408 zcma)6YflqV5ItMkE?pMdLPZe;RFqPX1$=-MP^hic6d`~b;s;&Y8(3|3$?lfN&yvU^ z5HazC82t|A;<|_%61?b? za1*xz=t5LNH)0}sBm~gQf86H2z5qojBKk!P3aDLE^PO4M%n68O-l}WrhGMO2`m*wL zR@GTPF2HZEXjW&xfYwabC@7k~#&p{-H~R5u(SO8Mqv(Di zz?(2~Oh7QB>Fimtu*A#-btz94xnLA6meg%#GRmL4iUx~(vth%)W?`7zFc>fHDZ z&F10Kyiqi>ETwU%`r~Z-c%4L+)U$cRqGG3+y<+4<+>uGwdomi)BqM~dj0o-vXyEY< zWx~iCCbtfW7?$w>BO>B5MlmL0T*gB@q7=(jTr$iYGnHgv)!v+R&iwX-j7cP9JVsJR z3S*@0xzctHkO*mAXJ#U=S{Ab?_#~e)2_|ytDv2bZ5-5*V-)BMm_Ub{O%q`SrJNj3X!*))neHKnPnhmN35 z=k_;%pu<}HZ6J=7i` zuo#NC?_EfHsM~>jirx$#;d~^fL$u=)2529`XX3eBoox&CB?6cCM;QD=yx#w1`vM6^ i#P*fgj)?6$3D8PecyI+*Y4@UyyaRNSD31o(>Gc;u5@{#^ literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/HomePage$2.class b/src/com/inventory/UI/HomePage$2.class new file mode 100644 index 0000000000000000000000000000000000000000..7e2ade7284285ae0bbaaa8a020ef6453150294b6 GIT binary patch literal 1394 zcma)6T~pIQ6g^u?LrV%R6cABBt`aZJ+P?cKZg+;i?tzWx646~Gi0f(TpbzD2f%`%8_cVLAWEQm- zu633n;B1xbIQb9c@}jJj%pGnz!rIqfXSL^|%vbaxmu`AQ}`Wg^;=yDyisGElqczgKdk zduUBmtUO;V$xz|bY{w-}0?U|rL)b)ii91`OpkPA9B<`w+qDw_5A}YEu#n2)BUC6XB zge9%_6x>%ajTr?GR6NA2f=4PIgZK~DtGFqw0=KkGdE42ach~atQx(rJr(zyylJ!DW zn+hW-mfG4$jut~)#@>uuJS6%Hh_*{oc2)f4sFg+#WwGq2}A6fIFPsRG?~1#{JNt2A^j(KTn^ z;Avsnj&3?cG`zB!U7B0nc$;3%Ew3^}YIXO*5ZiiuPuxX4FI$t`t8A&Ayd8$|bD3lt zc~)!X`BO(LlBmlx=0!`3^0s7k8u5)6@$`*pJl`N;<5pAH#^3}WluEiSbJq6Fk&^2e zrmsK;eHDC>i0oT{W@=)xw9u~`F;D~0Y6L#l(wQ1P085P>z?V8g%SYN`=%q10Gnk*o zK3u9EdWSYT2F#>B!*>GzMif7y_!-5YBeWhOAkCkkv>v1F1i_6+%)5^eI!5~;)LQgj zv{G~heXI>bEQkr3rL^{87eP(3B{6$?Z&LXWqPdvp;@*`wrkK+zc$NnB%sM1*~Rp2X}3(VcmEe7VcSi zz+jJfSnLk9R+3@4dBR8h%#BY2*>_*7>uZq)!~C;4ZAHtBXp4I^K?2nmf0}mmc_=(3 zW6h-|(oW6u>ib9Uyo2UJn<0Oxyr)7H(b5Yuo($<63%$qv_x(r>B`u*awX;d3>7P4n zH(Is!+X*~2=&>%)<4xrAMtOiNt$`v*`g6DnS{QkoNQ@(km8}b~%Ju~km9I#Cq${FG zXPPY737yxlG*y(KyKLn%5}%Ozf-9E=HX(uyU^7YSg?UBk8ATBl#YE>iVJEPR8)Q?s PiCef&o=tETS^9nfUoG4u literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/HomePage.class b/src/com/inventory/UI/HomePage.class new file mode 100644 index 0000000000000000000000000000000000000000..c9f0893d54a82d5e80cd5eba5cf398c6bf22ab15 GIT binary patch literal 9984 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//GEN-BEGIN:initComponents - private void initComponents() { - - welcomeLabel = new javax.swing.JLabel(); - jLabel1 = new javax.swing.JLabel(); - - welcomeLabel.setFont(new java.awt.Font("Impact", 0, 36)); // NOI18N - welcomeLabel.setText("Welcome"); - - jLabel1.setFont(new java.awt.Font("Impact", 0, 18)); // NOI18N - jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - jLabel1.setText("Manage your inventory, transactions and personnel, all in one place.

Click on the Menu button to start."); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(welcomeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 355, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(layout.createSequentialGroup() - .addGap(54, 54, 54) - .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 355, Short.MAX_VALUE))) - .addContainerGap(84, Short.MAX_VALUE)) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(12, 12, 12) - .addComponent(welcomeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(174, Short.MAX_VALUE)) - ); - }// //GEN-END:initComponents - - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JLabel jLabel1; - private javax.swing.JLabel welcomeLabel; - // End of variables declaration//GEN-END:variables } diff --git a/src/com/inventory/UI/HomePageModern.java b/src/com/inventory/UI/HomePageModern.java new file mode 100644 index 0000000..41db4fd --- /dev/null +++ b/src/com/inventory/UI/HomePageModern.java @@ -0,0 +1,1020 @@ +package com.inventory.UI; + +import com.inventory.DAO.UserDAO; +import com.inventory.DAO.ProductDAO; +import com.inventory.DAO.ReportDAO; +import com.inventory.DAO.DeliveryDAO; +import com.inventory.DTO.UserDTO; + +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.net.URI; +import java.util.List; + +/** + * Modern HomePage with enhanced UI - NO .form file dependency + */ +public class HomePageModern extends javax.swing.JPanel { + + private javax.swing.JLabel welcomeLabel; + private javax.swing.JLabel lowStockLabel; + private javax.swing.JPanel alertPanel; + + // Daily Summary Components + private javax.swing.JPanel summaryCard; + private javax.swing.JLabel lowStockCountLabel; + private javax.swing.JLabel pendingDeliveriesCountLabel; + private javax.swing.JLabel newDeliveriesCountLabel; + private javax.swing.JLabel newConsignmentsCountLabel; + + public HomePageModern(String username) { + initComponents(); + + // Set welcome name + UserDAO userDAO = new UserDAO(); + UserDTO userDTO = userDAO.getUserDetails(username); + + if (userDTO != null) { + welcomeLabel.setText("Welcome, " + userDTO.getFullName()); + } + + // Low stock alert for administrators + try { + UserDTO fullUser = userDAO.getUserDetails(username); + + if (fullUser != null && + fullUser.getUserType().equalsIgnoreCase("ADMINISTRATOR")) { + + ProductDAO dao = new ProductDAO(); + List lowStock = dao.getLowStockProducts(); + + if (lowStock != null && !lowStock.isEmpty()) { + alertPanel.setVisible(true); + + StringBuilder msg = new StringBuilder(""); + msg.append("LOW STOCK ALERT

"); + + for (String item : lowStock) { + msg.append("• ").append(item).append("
"); + } + + msg.append(""); + lowStockLabel.setText(msg.toString()); + } else { + alertPanel.setVisible(false); + } + + // Load data for summary card if it exists + if (summaryCard != null) { + loadDailySummary(); + } + } else { + alertPanel.setVisible(false); + if (summaryCard != null) summaryCard.setVisible(false); + } + } catch (Exception e) { + e.printStackTrace(); + alertPanel.setVisible(false); + } + } + + private void initComponents() { + setLayout(new BorderLayout()); + setBackground(new Color(245, 245, 250)); + + // Main scroll pane for entire content + JScrollPane scrollPane = new JScrollPane(); + scrollPane.setBorder(null); + scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); + scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane.getVerticalScrollBar().setUnitIncrement(20); + + // Set a reasonable preferred size for the scroll pane + scrollPane.setPreferredSize(new Dimension(1000, 700)); + + // Main content panel - Must implement Scrollable to track viewport width + // This will now ONLY hold the scrollable content (Hero, Features, Logos) + JPanel scrollableContent = new ScrollablePanel(); + scrollableContent.setLayout(new BoxLayout(scrollableContent, BoxLayout.Y_AXIS)); + scrollableContent.setBackground(new Color(245, 245, 250)); + + // Top Section (Hero only) with Background Image + JPanel topSection = createTopSection(scrollPane); + scrollableContent.add(topSection); + + // Add spacing between sections + scrollableContent.add(Box.createVerticalStrut(30)); + + // Features Section (Below Background) + JPanel featuresPanel = createFeaturesSection(); + // Wrap in a container to constrain width to 1400px (Wider) and center it + JPanel featuresContainer = new JPanel(); + featuresContainer.setLayout(new BoxLayout(featuresContainer, BoxLayout.Y_AXIS)); + featuresContainer.setOpaque(false); + featuresContainer.setMaximumSize(new Dimension(1400, 1000)); // Increased width for "horizontally big" look + featuresContainer.add(featuresPanel); + featuresContainer.setAlignmentX(Component.CENTER_ALIGNMENT); + scrollableContent.add(featuresContainer); + + // Add spacing + scrollableContent.add(Box.createVerticalStrut(30)); + + // Daily Summary Section (Below Features) + if (summaryCard != null) { + JPanel summaryContainer = new JPanel(); + summaryContainer.setLayout(new BoxLayout(summaryContainer, BoxLayout.Y_AXIS)); + summaryContainer.setOpaque(false); + summaryContainer.setMaximumSize(new Dimension(1000, 300)); + summaryContainer.add(summaryCard); + summaryContainer.setAlignmentX(Component.CENTER_ALIGNMENT); + scrollableContent.add(summaryContainer); + scrollableContent.add(Box.createVerticalStrut(30)); + } + + // Company Logos Section + JPanel logosPanel = createLogosSection(); + scrollableContent.add(logosPanel); + + // Add spacing at bottom of scrollable content so it doesn't look cramped against footer + scrollableContent.add(Box.createVerticalStrut(30)); + + // Footer Section - Created here but added to MAIN layout, not scroll pane + JPanel footerPanel = createFooterSection(); + + // Set the scrollable content as the viewport view + scrollPane.setViewportView(scrollableContent); + + // Add ScrollPane to Center (takes all remaining space) + add(scrollPane, BorderLayout.CENTER); + + // Add Footer to South (Fixed at bottom) + add(footerPanel, BorderLayout.SOUTH); + + // Initialize alert components + welcomeLabel = new JLabel(); + lowStockLabel = new JLabel(); + alertPanel = new JPanel(); + } + + // Custom panel that forces width to match viewport (fixes background stretch) + private class ScrollablePanel extends JPanel implements Scrollable { + @Override + public Dimension getPreferredScrollableViewportSize() { + return getPreferredSize(); + } + + @Override + public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) { + return 20; + } + + @Override + public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) { + return 100; + } + + @Override + public boolean getScrollableTracksViewportWidth() { + return true; // Force full width + } + + @Override + public boolean getScrollableTracksViewportHeight() { + return false; + } + } + + // Wrapper panel for Hero and Features to share the background image + private JPanel createTopSection(JScrollPane scrollPane) { + JPanel topPanel = new JPanel() { + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + // Load and draw background image + java.net.URL imgURL = getClass().getResource("/com/inventory/UI/Icons/warehouse_bg.png"); + if (imgURL != null) { + ImageIcon icon = new ImageIcon(imgURL); + Image img = icon.getImage(); + g.drawImage(img, 0, 0, getWidth(), getHeight(), this); + + // Semi-transparent overlay + g.setColor(new Color(255, 255, 255, 100)); + g.fillRect(0, 0, getWidth(), getHeight()); + } + } + }; + // Use GridBagLayout to center the content wrapper within the full-width background + topPanel.setLayout(new GridBagLayout()); + + // Initial height - use screen height as fallback + int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height; + int initialHeight = screenHeight - 100; + + topPanel.setPreferredSize(new Dimension(Integer.MAX_VALUE, initialHeight)); + topPanel.setMinimumSize(new Dimension(800, 600)); // Minimum reasonable height + topPanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); + + // Dynamic resizing to match viewport height (100vh) + if (scrollPane != null) { + scrollPane.getViewport().addComponentListener(new java.awt.event.ComponentAdapter() { + @Override + public void componentResized(java.awt.event.ComponentEvent e) { + int viewportHeight = scrollPane.getViewport().getHeight(); + if (viewportHeight > 0) { + topPanel.setPreferredSize(new Dimension(Integer.MAX_VALUE, viewportHeight)); + topPanel.revalidate(); + } + } + }); + } + + // Content Wrapper to constrain width for laptop screens + JPanel contentWrapper = new JPanel(); + contentWrapper.setLayout(new BoxLayout(contentWrapper, BoxLayout.Y_AXIS)); + contentWrapper.setOpaque(false); + + // Add Hero to wrapper + JPanel hero = createHeroSection(); + hero.setAlignmentX(Component.CENTER_ALIGNMENT); + contentWrapper.add(hero); + + // Add wrapper to topPanel with GridBagConstraints for proper centering + GridBagConstraints gbc = new GridBagConstraints(); + gbc.gridx = 0; + gbc.gridy = 0; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + gbc.anchor = GridBagConstraints.CENTER; + topPanel.add(contentWrapper, gbc); + + return topPanel; + } + + private JPanel createHeroSection() { + JPanel hero = new JPanel(); + hero.setLayout(new GridBagLayout()); // Use GridBagLayout for precise centering + hero.setOpaque(false); // Make transparent to show background + + // Container for welcome message and subtitle + JPanel contentPanel = new JPanel(); + contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS)); + contentPanel.setOpaque(false); + + // Welcome Label + welcomeLabel = new JLabel("Welcome to Inventory Management System"); + welcomeLabel.setFont(new Font("Segoe UI", Font.BOLD, 32)); + welcomeLabel.setForeground(StyleConstants.PRIMARY_COLOR); + welcomeLabel.setForeground(StyleConstants.PRIMARY_COLOR); + welcomeLabel.setAlignmentX(Component.CENTER_ALIGNMENT); + + // Daily Summary Card - Added here for visibility + summaryCard = createDailySummaryCard(); + summaryCard.setAlignmentX(Component.CENTER_ALIGNMENT); + + // Subtitle - directly below welcome message + JLabel subtitle = new JLabel("
Streamline your stock tracking, product listing, supplier management,
and real-time inventory updates all in one powerful platform.
"); + subtitle.setFont(StyleConstants.SUBHEADER_FONT); + subtitle.setForeground(new Color(50, 50, 50)); + subtitle.setAlignmentX(Component.CENTER_ALIGNMENT); + + // Alert Panel for low stock + alertPanel = new JPanel(); + alertPanel.setBackground(new Color(255, 243, 224)); + alertPanel.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(255, 152, 0), 2), + new EmptyBorder(10, 10, 10, 10) + )); + alertPanel.setLayout(new BorderLayout()); + alertPanel.setVisible(false); + alertPanel.setMaximumSize(new Dimension(500, 150)); + alertPanel.setAlignmentX(Component.CENTER_ALIGNMENT); + + lowStockLabel = new JLabel(); + lowStockLabel.setFont(new Font("Segoe UI", Font.PLAIN, 12)); + lowStockLabel.setForeground(new Color(120, 0, 0)); + lowStockLabel.setVerticalAlignment(SwingConstants.TOP); + alertPanel.add(lowStockLabel, BorderLayout.CENTER); + + // Add components to content panel + contentPanel.add(welcomeLabel); + contentPanel.add(Box.createVerticalStrut(15)); + contentPanel.add(subtitle); + contentPanel.add(Box.createVerticalStrut(20)); + contentPanel.add(alertPanel); + + // Center the content panel in the hero using GridBagLayout + GridBagConstraints gbc = new GridBagConstraints(); + gbc.gridx = 0; + gbc.gridy = 0; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + gbc.anchor = GridBagConstraints.CENTER; + hero.add(contentPanel, gbc); + + return hero; + } + + private JPanel createFeaturesSection() { + JPanel section = new JPanel(); + section.setLayout(new BorderLayout()); + section.setOpaque(false); // Make transparent to show background + section.setBorder(new EmptyBorder(10, 20, 40, 20)); // Reduced padding + + JLabel title = new JLabel("Key Features"); + title.setFont(new Font("Segoe UI", Font.BOLD, 28)); + title.setForeground(new Color(50, 50, 50)); + title.setHorizontalAlignment(SwingConstants.CENTER); + title.setBorder(new EmptyBorder(0, 0, 30, 0)); + + // Reduced gap from 20 to 15 to fit better + JPanel cardsPanel = new JPanel(new GridLayout(2, 3, 25, 25)); // Increased gap + cardsPanel.setOpaque(false); // Make transparent + cardsPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); + + // Feature cards with Icons - Using Unicode Escapes to avoid encoding issues + cardsPanel.add(createFeatureCard("Product Management", "Efficiently manage your product catalog with detailed tracking and categorization.", "\uD83D\uDCE6", new Color(66, 133, 244))); // Package + cardsPanel.add(createFeatureCard("Supplier Management", "Maintain comprehensive supplier information and streamline procurement processes.", "\uD83D\uDE9A", new Color(52, 168, 83))); // Truck + cardsPanel.add(createFeatureCard("Stock Alerts", "Real-time notifications for low stock levels to prevent inventory shortages.", "\uD83D\uDD14", new Color(234, 67, 53))); // Bell + cardsPanel.add(createFeatureCard("Category Management", "Organize products into categories for better inventory organization.", "\uD83C\uDFF7", new Color(251, 188, 5))); // Tag + cardsPanel.add(createFeatureCard("Sales Tracking", "Monitor sales transactions and generate detailed sales reports.", "\uD83D\uDCC8", new Color(156, 39, 176))); // Chart + cardsPanel.add(createFeatureCard("Purchase Tracking", "Track all purchase orders and maintain accurate inventory records.", "\uD83D\uDED2", new Color(255, 109, 0))); // Cart + + section.add(title, BorderLayout.NORTH); + section.add(cardsPanel, BorderLayout.CENTER); + + return section; + } + + private JPanel createFeatureCard(String title, String description, String iconSymbol, Color accentColor) { + JPanel card = new JPanel(); + card.setLayout(new BorderLayout(15, 10)); // Gap between icon and text + card.setBackground(new Color(255, 255, 255, 245)); // High opacity + + // Stylish Left Border Accent + card.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createMatteBorder(0, 5, 0, 0, accentColor), // Left accent border + BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(230, 230, 230), 1), + new EmptyBorder(25, 20, 25, 20) + ) + )); + + // Icon Label + JLabel iconLabel = new JLabel(iconSymbol); + iconLabel.setFont(new Font("Segoe UI Emoji", Font.PLAIN, 36)); + iconLabel.setForeground(accentColor); // Match accent color + iconLabel.setHorizontalAlignment(SwingConstants.CENTER); + iconLabel.setVerticalAlignment(SwingConstants.TOP); + + // Text Panel + JPanel textPanel = new JPanel(); + textPanel.setLayout(new BoxLayout(textPanel, BoxLayout.Y_AXIS)); + textPanel.setOpaque(false); + + JLabel titleLabel = new JLabel(title); + titleLabel.setFont(new Font("Segoe UI", Font.BOLD, 18)); + titleLabel.setForeground(new Color(40, 40, 40)); + titleLabel.setAlignmentX(Component.LEFT_ALIGNMENT); + + JLabel descLabel = new JLabel("" + description + ""); + descLabel.setFont(new Font("Segoe UI", Font.PLAIN, 13)); + descLabel.setForeground(new Color(100, 100, 100)); + descLabel.setAlignmentX(Component.LEFT_ALIGNMENT); + + textPanel.add(titleLabel); + textPanel.add(Box.createVerticalStrut(8)); + textPanel.add(descLabel); + + card.add(iconLabel, BorderLayout.WEST); + card.add(textPanel, BorderLayout.CENTER); + + // Add hover effect + card.addMouseListener(new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + card.setBackground(new Color(255, 255, 255)); + // Thicker accent on hover + card.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createMatteBorder(0, 8, 0, 0, accentColor), + BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(220, 220, 220), 1), + new EmptyBorder(25, 17, 25, 20) // Adjust padding to keep content stable + ) + )); + card.setCursor(new Cursor(Cursor.HAND_CURSOR)); + } + + @Override + public void mouseExited(MouseEvent e) { + card.setBackground(new Color(255, 255, 255, 245)); + card.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createMatteBorder(0, 5, 0, 0, accentColor), + BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(230, 230, 230), 1), + new EmptyBorder(25, 20, 25, 20) + ) + )); + } + }); + + return card; + } + + private JPanel createLogosSection() { + JPanel section = new JPanel(); + section.setLayout(new BorderLayout()); + section.setBackground(Color.WHITE); + section.setBorder(new EmptyBorder(50, 0, 50, 0)); + + JLabel title = new JLabel("Our Trusted Suppliers"); + title.setFont(new Font("Segoe UI", Font.BOLD, 24)); + title.setForeground(new Color(50, 50, 50)); + title.setHorizontalAlignment(SwingConstants.CENTER); + title.setBorder(new EmptyBorder(0, 0, 30, 0)); + + // Add all requested suppliers - TRIPLED for smooth scrolling loop + String[] suppliers = { + "Dell", "HP", "Samsung", "Apple", "Shelby", "Hewlett-Packard", "iWorld", + "Dell", "HP", "Samsung", "Apple", "Shelby", "Hewlett-Packard", "iWorld", + "Dell", "HP", "Samsung", "Apple", "Shelby", "Hewlett-Packard", "iWorld" + }; + + JPanel logosContainer = new JPanel(new FlowLayout(FlowLayout.LEFT, 30, 10)); + logosContainer.setBackground(Color.WHITE); + + for (String supplier : suppliers) { + logosContainer.add(createLogoPlaceholder(supplier)); + } + + JScrollPane scrollPane = new JScrollPane(logosContainer); + scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); // Hide scrollbar + scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); + scrollPane.setBorder(null); + scrollPane.setBackground(Color.WHITE); + + // Auto-scrolling Timer + Timer scrollTimer = new Timer(40, e -> { + JScrollBar horizontal = scrollPane.getHorizontalScrollBar(); + if (horizontal != null) { + int max = horizontal.getMaximum(); + int val = horizontal.getValue(); + int extent = horizontal.getModel().getExtent(); + + // Only scroll if there is content to scroll + if (max > extent) { + if (val + extent >= max) { + horizontal.setValue(0); // Reset to start for loop effect + } else { + horizontal.setValue(val + 1); // Scroll right + } + } + } + }); + scrollTimer.start(); + + section.add(title, BorderLayout.NORTH); + section.add(scrollPane, BorderLayout.CENTER); + + return section; + } + + private JPanel createLogoPlaceholder(String name) { + JPanel logoPanel = new JPanel(); + logoPanel.setLayout(new BorderLayout()); + logoPanel.setBackground(new Color(250, 250, 250)); + logoPanel.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(230, 230, 230), 1), + new EmptyBorder(10, 10, 10, 10) + )); + logoPanel.setPreferredSize(new Dimension(150, 100)); + + // Add hover effect + logoPanel.addMouseListener(new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + logoPanel.setBackground(new Color(240, 245, 255)); + logoPanel.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(StyleConstants.PRIMARY_COLOR, 2), + new EmptyBorder(10, 10, 10, 10) + )); + } + + @Override + public void mouseExited(MouseEvent e) { + logoPanel.setBackground(new Color(250, 250, 250)); + logoPanel.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(230, 230, 230), 1), + new EmptyBorder(10, 10, 10, 10) + )); + } + }); + + // Try to load image + JLabel contentLabel; + String imagePath = "/com/inventory/UI/SupplierLogos/" + name.toLowerCase().replace(" ", "") + ".png"; + java.net.URL imgURL = getClass().getResource(imagePath); + + if (imgURL != null) { + ImageIcon icon = new ImageIcon(imgURL); + // Scale image to fit + Image img = icon.getImage(); + Image newImg = img.getScaledInstance(130, 80, Image.SCALE_SMOOTH); + contentLabel = new JLabel(new ImageIcon(newImg)); + } else { + // Fallback to text + contentLabel = new JLabel(name, SwingConstants.CENTER); + contentLabel.setFont(new Font("Segoe UI", Font.BOLD, 14)); + contentLabel.setForeground(new Color(100, 100, 100)); + } + + logoPanel.add(contentLabel, BorderLayout.CENTER); + + return logoPanel; + } + + private JPanel createFooterSection() { + JPanel footer = new JPanel(); + footer.setLayout(new GridLayout(1, 3, 40, 0)); // 3 Columns + footer.setBackground(Color.BLACK); // Pure black background + footer.setBorder(new EmptyBorder(50, 50, 50, 50)); + + // Column 1: About Us + JPanel aboutPanel = new JPanel(); + aboutPanel.setLayout(new BoxLayout(aboutPanel, BoxLayout.Y_AXIS)); + aboutPanel.setBackground(Color.BLACK); + + JLabel aboutTitle = new JLabel("Inventory System"); + aboutTitle.setFont(new Font("Segoe UI", Font.BOLD, 20)); + aboutTitle.setForeground(Color.WHITE); + aboutTitle.setAlignmentX(Component.LEFT_ALIGNMENT); + + JLabel aboutText = new JLabel("
Empowering businesses with seamless inventory tracking, supplier management, and real-time analytics.
"); + aboutText.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + aboutText.setAlignmentX(Component.LEFT_ALIGNMENT); + + aboutPanel.add(aboutTitle); + aboutPanel.add(Box.createVerticalStrut(15)); + aboutPanel.add(aboutText); + + // Column 2: Contact Info + JPanel contactPanel = new JPanel(); + contactPanel.setLayout(new BoxLayout(contactPanel, BoxLayout.Y_AXIS)); + contactPanel.setBackground(Color.BLACK); + + JLabel contactTitle = new JLabel("Contact Us"); + contactTitle.setFont(new Font("Segoe UI", Font.BOLD, 20)); + contactTitle.setForeground(Color.WHITE); + contactTitle.setAlignmentX(Component.LEFT_ALIGNMENT); + + // Using Unicode icons for contact info + JLabel phone = createFooterLabel("\uD83D\uDCDE +1 (555) 123-4567"); + JLabel email = createFooterLabel("\u2709\uFE0F info@inventoryms.com"); + JLabel address = createFooterLabel("\uD83D\uDCCD 123 Business St, Suite 100, NY"); + + contactPanel.add(contactTitle); + contactPanel.add(Box.createVerticalStrut(15)); + contactPanel.add(phone); + contactPanel.add(Box.createVerticalStrut(10)); + contactPanel.add(email); + contactPanel.add(Box.createVerticalStrut(10)); + contactPanel.add(address); + + // Column 3: Social Media + JPanel socialPanel = new JPanel(); + socialPanel.setLayout(new BoxLayout(socialPanel, BoxLayout.Y_AXIS)); + socialPanel.setBackground(Color.BLACK); + + JLabel socialTitle = new JLabel("Stay Connected"); + socialTitle.setFont(new Font("Segoe UI", Font.BOLD, 20)); + socialTitle.setForeground(Color.WHITE); + socialTitle.setAlignmentX(Component.LEFT_ALIGNMENT); + + JPanel socialLinks = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10)); + socialLinks.setBackground(Color.BLACK); + socialLinks.setMaximumSize(new Dimension(300, 100)); + socialLinks.setAlignmentX(Component.LEFT_ALIGNMENT); + + // Brand Colors + socialLinks.add(createSocialButton("Facebook", new Color(24, 119, 242))); + socialLinks.add(createSocialButton("Twitter", new Color(20, 23, 26))); // Dark gray for X + socialLinks.add(createSocialButton("Instagram", new Color(225, 48, 108))); + socialLinks.add(createSocialButton("LinkedIn", new Color(10, 102, 194))); + + socialPanel.add(socialTitle); + socialPanel.add(Box.createVerticalStrut(15)); + socialPanel.add(socialLinks); + + footer.add(aboutPanel); + footer.add(contactPanel); + footer.add(socialPanel); + + return footer; + } + + private JLabel createFooterLabel(String text) { + JLabel label = new JLabel(text); + label.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + label.setForeground(new Color(200, 200, 200)); + label.setAlignmentX(Component.LEFT_ALIGNMENT); + return label; + } + + private JButton createSocialButton(String platform, Color brandColor) { + JButton button = new JButton(platform) { + @Override + protected void paintComponent(Graphics g) { + Graphics2D g2 = (Graphics2D) g.create(); + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + if (getModel().isRollover()) { + g2.setColor(brandColor.brighter()); + } else { + g2.setColor(brandColor); + } + g2.fillRoundRect(0, 0, getWidth(), getHeight(), 10, 10); + g2.dispose(); + super.paintComponent(g); + } + }; + button.setFont(new Font("Segoe UI", Font.BOLD, 12)); + button.setForeground(Color.WHITE); + button.setFocusPainted(false); + button.setBorderPainted(false); + button.setContentAreaFilled(false); // Important for custom painting + button.setCursor(new Cursor(Cursor.HAND_CURSOR)); + button.setPreferredSize(new Dimension(100, 35)); + return button; + } + + + // ========================================== + // DAILY SUMMARY METHODS + // ========================================== + + public void loadDailySummary() { + try { + ReportDAO reportDAO = new ReportDAO(); + ReportDAO.DailySummary summary = reportDAO.getDailySummary(); + System.out.println("DEBUG: Daily Summary Loaded"); + System.out.println("DEBUG: Low Stock: " + summary.getLowStockCount()); + System.out.println("DEBUG: Pending Deliveries: " + summary.getPendingDeliveriesCount()); + System.out.println("DEBUG: New Deliveries: " + summary.getTodayDeliveriesCount()); + System.out.println("DEBUG: New Consignments: " + summary.getNewConsignmentsCount()); + + if (lowStockCountLabel != null) lowStockCountLabel.setText(String.valueOf(summary.getLowStockCount())); + if (pendingDeliveriesCountLabel != null) pendingDeliveriesCountLabel.setText(String.valueOf(summary.getPendingDeliveriesCount())); + if (newDeliveriesCountLabel != null) newDeliveriesCountLabel.setText(String.valueOf(summary.getTodayDeliveriesCount())); + if (newConsignmentsCountLabel != null) newConsignmentsCountLabel.setText(String.valueOf(summary.getNewConsignmentsCount())); + + if (summaryCard != null) summaryCard.setVisible(true); + } catch (Exception e) { + System.err.println("Error loading daily summary: " + e.getMessage()); + e.printStackTrace(); + } + } + + // Create Daily Summary Card - HIGHLY VISIBLE VERSION + private JPanel createDailySummaryCard() { + JPanel card = new JPanel() { + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + int w = getWidth(); + int h = getHeight(); + GradientPaint gp = new GradientPaint(0, 0, new Color(51, 102, 255), w, 0, new Color(0, 153, 204)); + g2d.setPaint(gp); + g2d.fillRect(0, 0, w, h); + } + }; + card.setLayout(new BorderLayout()); + card.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(51, 102, 255), 3), + new EmptyBorder(25, 30, 25, 30) + )); + card.setMaximumSize(new Dimension(800, 220)); + card.setAlignmentX(Component.CENTER_ALIGNMENT); + card.setOpaque(false); + + // Title + JPanel titlePanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 8, 0)); + titlePanel.setOpaque(false); + + JLabel iconLabel = new JLabel("\uD83D\uDCCA"); // 📊 + iconLabel.setFont(new Font("Segoe UI", Font.PLAIN, 24)); + iconLabel.setForeground(Color.WHITE); + + JLabel titleLabel = new JLabel("DAILY SUMMARY"); + titleLabel.setFont(new Font("Segoe UI", Font.BOLD, 22)); + titleLabel.setForeground(Color.WHITE); + + JLabel refreshIcon = new JLabel("\uD83D\uDD04"); // 🔄 + refreshIcon.setFont(new Font("Segoe UI", Font.PLAIN, 18)); + refreshIcon.setForeground(Color.WHITE); + refreshIcon.setCursor(new Cursor(Cursor.HAND_CURSOR)); + refreshIcon.setToolTipText("Refresh Summary"); + refreshIcon.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + loadDailySummary(); + } + }); + + titlePanel.add(iconLabel); + titlePanel.add(titleLabel); + titlePanel.add(refreshIcon); + + // Stats Panel + JPanel statsPanel = new JPanel(new GridLayout(1, 4, 15, 0)); + statsPanel.setOpaque(false); + statsPanel.setBorder(new EmptyBorder(20, 0, 20, 0)); + + // Low Stock Stat + lowStockCountLabel = new JLabel("0", SwingConstants.CENTER); + lowStockCountLabel.setForeground(Color.WHITE); + JPanel lowStockPanel = createStatPanelBright("\u26A0 Low Stock Items", lowStockCountLabel, Color.YELLOW); + + // Pending Deliveries Stat + pendingDeliveriesCountLabel = new JLabel("0", SwingConstants.CENTER); + pendingDeliveriesCountLabel.setForeground(Color.WHITE); + JPanel pendingPanel = createStatPanelBright("\uD83D\uDE9A Pending Deliveries", pendingDeliveriesCountLabel, new Color(255, 215, 0)); + + // New Deliveries Stat + newDeliveriesCountLabel = new JLabel("0", SwingConstants.CENTER); + newDeliveriesCountLabel.setForeground(Color.WHITE); + JPanel newDeliveriesPanel = createStatPanelBright("\uD83D\uDCE6 New Deliveries", newDeliveriesCountLabel, new Color(0, 255, 255)); + + // New Consignments Stat + newConsignmentsCountLabel = new JLabel("0", SwingConstants.CENTER); + newConsignmentsCountLabel.setForeground(Color.WHITE); + JPanel consignmentsPanel = createStatPanelBright("\uD83D\uDCE6 New Consignments", newConsignmentsCountLabel, new Color(144, 238, 144)); + + statsPanel.add(lowStockPanel); + statsPanel.add(pendingPanel); + statsPanel.add(newDeliveriesPanel); + statsPanel.add(consignmentsPanel); + + // View Details Button + JButton viewDetailsButton = new JButton("View Details"); + viewDetailsButton.setFont(new Font("Segoe UI", Font.BOLD, 14)); + viewDetailsButton.setBackground(Color.WHITE); + viewDetailsButton.setForeground(StyleConstants.PRIMARY_COLOR); + viewDetailsButton.setFocusPainted(false); + viewDetailsButton.setBorderPainted(false); + viewDetailsButton.setCursor(new Cursor(Cursor.HAND_CURSOR)); + viewDetailsButton.setPreferredSize(new Dimension(150, 40)); + + // Add hover effect + viewDetailsButton.addMouseListener(new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + viewDetailsButton.setBackground(new Color(240, 240, 240)); + } + + @Override + public void mouseExited(MouseEvent e) { + viewDetailsButton.setBackground(Color.WHITE); + } + }); + + viewDetailsButton.addActionListener(e -> showDetailsDialog()); + + JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER)); + buttonPanel.setOpaque(false); + buttonPanel.add(viewDetailsButton); + + card.add(titlePanel, BorderLayout.NORTH); + card.add(statsPanel, BorderLayout.CENTER); + card.add(buttonPanel, BorderLayout.SOUTH); + + return card; + } + + private JPanel createStatPanelBright(String label, JLabel countLabel, Color accentColor) { + JPanel panel = new JPanel(); + panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); + panel.setOpaque(false); + + JLabel titleLabel = new JLabel(label); + titleLabel.setFont(new Font("Segoe UI", Font.BOLD, 14)); + titleLabel.setForeground(accentColor); + titleLabel.setAlignmentX(Component.CENTER_ALIGNMENT); + + countLabel.setFont(new Font("Segoe UI", Font.BOLD, 36)); + countLabel.setForeground(Color.WHITE); + countLabel.setAlignmentX(Component.CENTER_ALIGNMENT); + + panel.add(titleLabel); + panel.add(Box.createVerticalStrut(10)); + panel.add(countLabel); + + return panel; + } + + // Show daily summary popup dialog on login + private void showDailySummaryPopup() { + try { + ReportDAO reportDAO = new ReportDAO(); + ReportDAO.DailySummary summary = reportDAO.getDailySummary(); + + // Create dialog + JDialog dialog = new JDialog((Frame) SwingUtilities.getWindowAncestor(this), "Daily Summary", true); + dialog.setLayout(new BorderLayout(10, 10)); + dialog.setSize(500, 400); + dialog.setLocationRelativeTo(this); + + // Header panel + JPanel headerPanel = new JPanel(); + headerPanel.setBackground(StyleConstants.PRIMARY_COLOR); + headerPanel.setBorder(new EmptyBorder(20, 20, 20, 20)); + + JLabel titleLabel = new JLabel("\uD83D\uDCCA Daily Summary"); + titleLabel.setFont(new Font("Segoe UI", Font.BOLD, 24)); + titleLabel.setForeground(Color.WHITE); + headerPanel.add(titleLabel); + + // Content panel with stats + JPanel contentPanel = new JPanel(); + contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS)); + contentPanel.setBackground(Color.WHITE); + contentPanel.setBorder(new EmptyBorder(30, 40, 30, 40)); + + // Low Stock + JPanel lowStockPanel = createSummaryRow( + "\u26A0 Low Stock Items", + String.valueOf(summary.getLowStockCount()), + new Color(220, 53, 69) + ); + + // Pending Deliveries + JPanel pendingPanel = createSummaryRow( + "\uD83D\uDE9A Pending Deliveries", + String.valueOf(summary.getPendingDeliveriesCount()), + new Color(255, 193, 7) + ); + + // New Consignments + JPanel consignmentsPanel = createSummaryRow( + "\uD83D\uDCE6 New Consignments Today", + String.valueOf(summary.getNewConsignmentsCount()), + new Color(40, 167, 69) + ); + + contentPanel.add(lowStockPanel); + contentPanel.add(Box.createVerticalStrut(20)); + contentPanel.add(pendingPanel); + contentPanel.add(Box.createVerticalStrut(20)); + contentPanel.add(consignmentsPanel); + + // Button panel + JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 10, 10)); + buttonPanel.setBorder(new EmptyBorder(10, 10, 20, 10)); + + JButton viewDetailsButton = new JButton("View Full Details"); + viewDetailsButton.setFont(new Font("Segoe UI", Font.BOLD, 13)); + viewDetailsButton.setBackground(StyleConstants.PRIMARY_COLOR); + viewDetailsButton.setForeground(Color.WHITE); + viewDetailsButton.setFocusPainted(false); + viewDetailsButton.setBorderPainted(false); + viewDetailsButton.setPreferredSize(new Dimension(150, 38)); + viewDetailsButton.addActionListener(e -> { + dialog.dispose(); + showDetailsDialog(); + }); + + JButton closeButton = new JButton("Close"); + closeButton.setFont(new Font("Segoe UI", Font.PLAIN, 13)); + closeButton.setBackground(new Color(108, 117, 125)); + closeButton.setForeground(Color.WHITE); + closeButton.setFocusPainted(false); + closeButton.setBorderPainted(false); + closeButton.setPreferredSize(new Dimension(100, 38)); + closeButton.addActionListener(e -> dialog.dispose()); + + buttonPanel.add(viewDetailsButton); + buttonPanel.add(closeButton); + + dialog.add(headerPanel, BorderLayout.NORTH); + dialog.add(contentPanel, BorderLayout.CENTER); + dialog.add(buttonPanel, BorderLayout.SOUTH); + + dialog.setVisible(true); + + } catch (Exception e) { + System.err.println("Error showing daily summary popup: " + e.getMessage()); + e.printStackTrace(); + } + } + + private JPanel createSummaryRow(String label, String count, Color color) { + JPanel panel = new JPanel(new BorderLayout(15, 0)); + panel.setBackground(Color.WHITE); + panel.setMaximumSize(new Dimension(Integer.MAX_VALUE, 60)); + panel.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(230, 230, 230), 1), + new EmptyBorder(15, 20, 15, 20) + )); + + JLabel labelText = new JLabel(label); + labelText.setFont(new Font("Segoe UI", Font.PLAIN, 16)); + labelText.setForeground(new Color(50, 50, 50)); + + JLabel countText = new JLabel(count); + countText.setFont(new Font("Segoe UI", Font.BOLD, 28)); + countText.setForeground(color); + + panel.add(labelText, BorderLayout.WEST); + panel.add(countText, BorderLayout.EAST); + + return panel; + } + + private void showDetailsDialog() { + JDialog dialog = new JDialog((Frame) SwingUtilities.getWindowAncestor(this), "Daily Summary Details", true); + dialog.setLayout(new BorderLayout()); + dialog.setSize(600, 500); + dialog.setLocationRelativeTo(this); + + JTabbedPane tabbedPane = new JTabbedPane(); + tabbedPane.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + + // Low Stock Tab + JPanel lowStockPanel = new JPanel(new BorderLayout()); + JTextArea lowStockText = new JTextArea(); + lowStockText.setEditable(false); + lowStockText.setFont(new Font("Monospaced", Font.PLAIN, 14)); + try { + ProductDAO dao = new ProductDAO(); + List items = dao.getLowStockProducts(); + StringBuilder sb = new StringBuilder(); + for (String item : items) sb.append(item).append("\n"); + lowStockText.setText(sb.toString()); + } catch (Exception e) { lowStockText.setText("Error loading data"); } + lowStockPanel.add(new JScrollPane(lowStockText), BorderLayout.CENTER); + tabbedPane.addTab("Low Stock", lowStockPanel); + + // Pending Deliveries Tab + JPanel deliveriesPanel = new JPanel(new BorderLayout()); + JTextArea deliveriesText = new JTextArea(); + deliveriesText.setEditable(false); + deliveriesText.setFont(new Font("Monospaced", Font.PLAIN, 14)); + try { + DeliveryDAO dao = new DeliveryDAO(); + List items = dao.getPendingDeliveriesList(); + if (items.isEmpty()) { + deliveriesText.setText("No pending deliveries."); + } else { + StringBuilder sb = new StringBuilder(); + for (String item : items) sb.append(item).append("\n\n"); + deliveriesText.setText(sb.toString()); + } + } catch (Exception e) { deliveriesText.setText("Error loading data: " + e.getMessage()); } + deliveriesPanel.add(new JScrollPane(deliveriesText), BorderLayout.CENTER); + deliveriesPanel.add(new JScrollPane(deliveriesText), BorderLayout.CENTER); + tabbedPane.addTab("Pending Deliveries", deliveriesPanel); + + // New Deliveries Tab (Today) + JPanel newDeliveriesPanel = new JPanel(new BorderLayout()); + JTextArea newDeliveriesText = new JTextArea(); + newDeliveriesText.setEditable(false); + newDeliveriesText.setFont(new Font("Monospaced", Font.PLAIN, 14)); + // Reuse getPendingDeliveriesList logic but filter for today? + // Or just show "See Pending Deliveries for details" since new deliveries are a subset. + // For now, let's just list all pending as that's what the user cares about most. + newDeliveriesText.setText("Please refer to Pending Deliveries tab for full details.\n\nThis tab tracks deliveries assigned specifically today."); + newDeliveriesPanel.add(new JScrollPane(newDeliveriesText), BorderLayout.CENTER); + tabbedPane.addTab("New Deliveries", newDeliveriesPanel); + + // New Consignments Tab + JPanel consignmentsPanel = new JPanel(new BorderLayout()); + JTextArea consignmentsText = new JTextArea(); + consignmentsText.setEditable(false); + consignmentsText.setFont(new Font("Monospaced", Font.PLAIN, 14)); + try { + ReportDAO dao = new ReportDAO(); + List items = dao.getTodayConsignmentsList(); + if (items.isEmpty()) { + consignmentsText.setText("No new consignments today."); + } else { + StringBuilder sb = new StringBuilder(); + for (String item : items) sb.append(item).append("\n\n"); + consignmentsText.setText(sb.toString()); + } + } catch (Exception e) { consignmentsText.setText("Error loading data: " + e.getMessage()); } + consignmentsPanel.add(new JScrollPane(consignmentsText), BorderLayout.CENTER); + tabbedPane.addTab("New Consignments", consignmentsPanel); + + dialog.add(tabbedPane, BorderLayout.CENTER); + + JButton closeButton = new JButton("Close"); + closeButton.addActionListener(e -> dialog.dispose()); + JPanel btnPanel = new JPanel(); + btnPanel.add(closeButton); + dialog.add(btnPanel, BorderLayout.SOUTH); + + dialog.setVisible(true); + } +} diff --git a/src/com/inventory/UI/Icons/warehouse_bg.png b/src/com/inventory/UI/Icons/warehouse_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..210e8cd4cadd12c26af14392e6e47a97ae756cd5 GIT binary patch literal 625876 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 z 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%0AQoc3vVMpt6=4(fyI^>qrW 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

*{#K&46J4e0|2-jiKY_{ATP}~W^=Rn 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

fQ6JOyo-bJ>h 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�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 Lwk)|ouW3>Fs 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 bBDq8yX-bVDgE2Z2^tdK4OP--k&`IAX6FZq( literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/LoginPage$3.class b/src/com/inventory/UI/LoginPage$3.class new file mode 100644 index 0000000000000000000000000000000000000000..37fcc57335fc09f510f321ac880e500f7f54e750 GIT binary patch literal 646 zcmaJ-!vr*%%F?vn-PQ<1Xl^Yd|%H^S9CY-uA-k66h$BU0sW|G z_OSYr9^CBg@XS2(%AoY? zy-=a{ADycc$JK4A8oVv4ggcN*hKCG=@+jcuHAAANTY@3uN+r(j`c2_q@@CIOxED&T z8p6NPeqXerVqJdE9sUqH!Z15W5u|SXswrk)=sVvN$I=u?|8}%((x_rxc|9FS)jkzr zN4G4jrjSEE1q%}?B#pO*0;wA=uC&LHI#EjawH^-w5in$G@j-0FeFa6J$P^A5ifwlye%^K~r z_89$1*c6>4Z=LQYVpq0az$&kZJ<*Mnlcg-Ooa_|R1N_DSpR7ECZM`A>2e+d_9+9*V YM}|^k$YPq#1U;@ai9MR$suqEM(0tQOQ&nhtSFIs$)kVM@n>!qb!;;<{_ogrF}NKmdD4!9H03EnSzqbL zfsFi%!H9<$Lv=1)9Tw#I>=;5F~QJ3sDa357h=13M|t`XUv-Lt5TlvyTH5=*1Xp zdOm{|<)@uPY=@8$7WSrKPed4&sOo0mgQ`1g^~kDK_Z7zN6sGkIYwpm$0DO}B3nrF{ U8(2Y!&>~jGIx&a*1wsn&13fHVcmMzZ literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/LoginPage.class b/src/com/inventory/UI/LoginPage.class new file mode 100644 index 0000000000000000000000000000000000000000..4de2a2d465941b5b05bad892bdc512280b2a6e4c GIT binary patch literal 8422 zcmb7K31C~*l|A>%_Lt?KM3EDRge3_i;Mhr=K*Ewhh}T5H8(tDj*cAK6Q6fu5mXer# z-}j}ov}Nm(Qc4RckzHIUTUiT~(v@jvrZCfXI@9S)r_*+3I?!|fm*g+oNlS#^a^HRT z-Fx3%-g}?dKYaRG0ITHt0o;h^w0K^N7Xr8wFKX*06WZQ@_G z{x?5*rd$SBgL2kJ=)IKLt>W|IyC> zn)tr}8g!{S_@y6zHu3)fY{V~2e5m|=6u>4yKtzmE@kx<(i?t{Th$((;m1-*xkTS7K zWtvRa?hGx0rp#1uNIT_P%u@W>idCW1=4f%4!sc=ko_joJ#EvMGSu$b+0A&8D;ntZ+PTC+lO8p&@%nV5W!cWJ6b*;PB?V3n zzT1wc63O8j0&BY6!L@>tXuK;rU<>9p?~Lq@)TG#{X-@P;Vhxd$twTieE3vNOL866R zv{)qGU(=aNM&tb)FYArjkz`#ul}f|~vmKPZHA8ziTC>Ro6DzQ@J~6N@QJ2`eQZT0w zDK|p2(#~jqJd#Q$xmxwqSf@^AVjX9iJDVfh>=>!fDxBwl#}SUtqn<$CV~PG~Jjc6# zkoxPg_of6#6w+wtz@9|1uPJKB`bf*wiGz7qA*N2xVU?U3jYm`K1is28n*~Mni9U)o zqd6M4ThjyEsMW}}7$MUYjY=3y#JNq}zcM@Cn;afY>9T@jD<@05WHLxFtuqzr-PIBq zbm-D;X~Tkf9vN$UQ_)1c-A-;#BnRw1!Tc=k$evVA%m}5*ssNi7GJ`n7QTW<=@SR_91C~j9(sck z$XmK&W)>dALlz#!LlnATIBypgzKDHPXu)WKeOdTCzF^@IB{I7JE$1i}K8?=^$_oZv zE4J`C+;8DixS!7N9p4g-_a*k!C*nh?2#w5=Hfa|WJL<6HOzAMC(~>Ufwq&zx$x2tF z`tGoMIi){lQ#*2&B|UOBHSAbbQ!+AOTe4L;EICKcwd6cGpH8e1CeD#HmRukm1mxsf zL(eKyt9OqVt<)7FmTZ$=OZt?at^90PehL)UsnNwFOTWr8qqD26qj5pFb#r4YTRnmW zUIjGR+au|i`k51kTIh^1K~Pa@JQ0m*mbylBF4keO0q1}?WBn~Y%V^VQ_b7L(RJCu4Du;zFr z+K^172b&|qiFC@6LAg+uOPa#HO-b66-InZ?VM{KOODwrmE;r>0ORkiw6mqpC*T}V| zTxZGka+4{ySaO@(Zpj^Tr;gl}lf_lcjzp3xTqAcY_C1!|E1$6BKKZ02pVCS9>nfkt z;xh{Sta^{HrD3%x4_NY`JY>nk@`xp$lh0f71^FT)w4+OPucx;(vp3| zq6lBIgh-MTYDe8b_RV%PCEf zUQK@gzM-wBwHQ+o<`t5rr8Y!{c5F*Tl6}hN zH!XQao)sJ!j_;1dqJ0ZAPpZ`~NF*0%MAU?_+>~!w@|-*`fGICn@}hG7k~)QBoUV9I z;%-f(niA=FUtZP%l(6f!(TIw45R_QV?vKQ3osjB5srK4TcYG*4ILQ69`)>+me^%aZ_Hg8?sY5?~Nsf?6yHW>F9wuwKA-E#7~T_Xi5Y8?5VOPQRYwD&Cb+t%+3c9 zhJw1<`ZG3kv~{;OoL}G8tgas%&pP#qSR%>PKaES(G0pbV`Qpr=<(>@c;wVFAWtji8 zRjT-k%1l1TgPV`4%(BEMRx53XN4bv14c*PP9p^W-wRY)gAs@Nr zN69_IFt<;VIlq_Asxu>feQwTfjt-@49w7xsdx(1XB8TBjEZf*v+t8TfaawyvxTUtE zC#N-4QBxvm=Tua|{>DTydJ(y%ea3ji8{qL`;<=!0+fI6{LtpnZ8=#MJ`N`$kdT;o4 zd8zB}>S}Av>T7ylUCw4Oux{BH?rL=R!Hvp{KOPxfm_uoLzs>Z(XcXtkE6%;BsLY89 z7wxn!OjEVdNN(8~lOWYug-=Cw0y60ycQ9p5K;=b;hQ1*(C|It3d2r4rOyn9Ze~T*4 zJ~+jRy0FLzZP-2P3+g=9kO!~*m^>~%m>voiXOvVe=$XNk@6j=`o4@hk5;_=b|5o8l zc~?;7<;AscC(bU)OV=KY^xCffho%CW9gWSkU5yQbr3EH^Xky%|85FNQX>YfaN!#7+ zErp`}6$%HJbFx{SKIOiB9182Fq;SZcFW62Bys1z;ubck0otrF?YA+wM9A8;RU->u^ zg$lxa*1EFkWGaWw@~AnoyEVV*ejdBS%}z-3*VT45vdQQjB<;<1G8N_9M3!>VAhU4x zl2bEe_okE4)NoA;uak_X4bgskh#97gA>BPX^)jBX%<9~8+|OF~K?qREep09#PU*8s zQRR}YbqppkJKmq#;auy(?4}3%7*aLoZ>@84eo0?;`I5@;);diK{#3$!Fwp}_R;%7y zhnnvoA5>D#6}~G;7a>6|?WXcsxkTjUoKuL)m1Z z?sAg9;FKw};GQzP)F(rhP*~^wF~vI(l@U+u(d?F8f6AvMlLzIr-L`$gn?^42PhQeZ zo#E^&RWXeq%(zg-I(Nk!@3~J@W?yt@kY~j4(0XX0CLEEx?_;`e0kym6P}F&+DXKhM zVFh=vO>NG-#62&}9NLlClefSKugHQWQ~J3_)SUFBTyWd(4rdPrykh7+5A%dJ;5oCq zmj>s|IGtR2Mrarsg*|r**OuG^=3&lQIu(u8kU>7L^y@1N4d!|$0hflIL^kK%S`G5n#XPx!~g!A3VY4hpGsrmZj)O^ixYCZ`$ zH6M>y2RN56RV=^E-pTN>1lr9mUzDoEKu} zgR;?>K@+?4LK|Ev^YT>YO_;&{Mx7Dnj4^ELp*&}dpt)J=>I_<{tM{WdgEqF?gEjig z;7o;4nhpn8737aVT|W3>urK&w2A#o>{#@w1JT!wYokGkq!ZtaW`_Y}jW`bs9uw@*< znv6hlia^u~pE2|Dk22_CyWE&5N4UKV&JM0}np=sN!8rxYFAehNa#T*@OI4gs6qM{-ab+|a&tBVRF=rY?G zT&_QN7f{`iygx}2=g^;4(%X+m1x}#%ufkHS#z{C4 zbu3%xmuF!O&c#~v;#BO!X}ARIa23|$7JeJM7xnb|2KsRmpPrlXJZHRtR=kTg{1j*6 zPv{gumz1GfW@EF=#}=ueOT6GC_$Tf({jo2x-@~hP+5R(Tm zAdeu<2eX8X@@v)exKQ3gQr;o#2N;s~k&<5_Ex*NX`5pUzz#hYgy+$d9jUX;E%GsZf zi;ZQt#8`m=<78ZFti>*49im1pE;pKRg|P`&8lAYxxByohQCwqOh-;0@aGh}zt~YLF z`)=G|+>aZLeYnYZ3^yC2xW#xDw;Ip0{Sx7C;x^+w+-`h;JB(lBPUDZb%U6WEeJ1Yo z1#yqB99Q}(aJg?T?(-eV2x{PQeASItxQUTWBic#QQvC{w<%!U?QS`PhqfzwvSlAhC zA47jn(XtG7j362eX0WqmAN;KZ#FjomGJY(>3hW|T4Uoq&0D>Xezyln47}NO#e>k7h zm+{4Z1>fXXG6b*Yc72Ul)8P9v{3f30H}PZ+(DE7hhm7-&(G%^=>& zx*~(bb6CBmXbgi4kQXjpHkSsQJh6CovGE|zs2au40i=lN=U-|R=?r#jZ#F~c9&ON* z_G+!uhG~x%jp5>+rE`lEHiAnCy>uT+C3M*+E>}}^C0j#TK-KxFyda*$5oC5L4$yE% za0Fq>ZccenVD#M0u6UevLWlbxz=imn?y!vjj@2sz+dq&j~nW-{Nv_ zbKWRfb~E2)v;bXj@hGky#Wnl*?Jsm=1~-l3=KZ)uXa%>9;Wlde_EFsNq+>26BycUK zXnkF_zCK&uKw@eM^PCO*5zF_8^<$>npAhylCeHUAeV8!9-1lJ6kEf|RmzSfwy!*y^ zFX1>Cqy6~i)VLlw$8n#T8doOK<*NGsA{h7(new String[] { "ADMINISTRATOR", "EMPLOYEE" })); loginButton.setText("LOGIN"); + loginButton.setFont(StyleConstants.BUTTON_FONT); + loginButton.setBackground(StyleConstants.PRIMARY_COLOR); + loginButton.setForeground(Color.WHITE); loginButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); loginButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -87,6 +92,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { }); clearButton.setText("CLEAR"); + clearButton.setFont(StyleConstants.BUTTON_FONT); clearButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); clearButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -168,21 +174,28 @@ private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-F String password = passText.getText(); //TODO Password encryption to be added later: //String password = encryptPass(pass); - userType = (String)jComboBox1.getSelectedItem(); + String userType = (String)jComboBox1.getSelectedItem(); + + int userId = new ConnectionFactory().checkLogin(username, password, userType); + + if (userId != -1) { - if (new ConnectionFactory().checkLogin(username, password, userType)){ inTime = LocalDateTime.now(); + userDTO.setInTime(String.valueOf(inTime)); + // userDTO.setId(userId); + userDTO.setID(userId); + + userDTO.setUsername(username); + userDTO.setUserType(userType); + dispose(); - new Dashboard(username, userType, userDTO); + // new Dashboard(userDTO).setVisible(true); + new Dashboard(username, userType, userDTO).setVisible(true); } else { - JOptionPane.showMessageDialog( - null, - "Invalid username or password."); + JOptionPane.showMessageDialog(null, "Invalid username or password."); } - - }//GEN-LAST:event_loginButtonActionPerformed - + } private void clearButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearButtonActionPerformed userText.setText(""); passText.setText(""); @@ -199,11 +212,11 @@ private void passTextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS public static void main(String[] args) { // setting UI theme and LookAndFeel of the application try { - javax.swing.UIManager.setLookAndFeel(new FlatMaterialDarkerIJTheme()); - } catch (UnsupportedLookAndFeelException ex) { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex); } - + /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { @@ -222,4 +235,4 @@ public void run() { private javax.swing.JPasswordField passText; private javax.swing.JTextField userText; // End of variables declaration//GEN-END:variables -} +} \ No newline at end of file diff --git a/src/com/inventory/UI/ProductPage$1.class b/src/com/inventory/UI/ProductPage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..d39497b646b660c85079d6e926bd238d558c2b45 GIT binary patch literal 658 zcmah{T}whi5Iw8b&6|~de`ke(DRd2bvx1O5A^gy{pmB3W}nKen3Ae zniZiQ!Ypk$SR}MfRHP2u6GOjUGOpeFn?DA^HP%yM=Cu bjEJLf|bzaeLZfrp}TR;YV@;$qUfO?(2t5{ zMW~0c17~)2_-4NOX7=;z{R6-r@(IK+?IMmD7n7KEFy~;w!6L(mxs_pIn;~2Cb;pyc zCzR2_qjy#H>Va-{eN*Qxu}{bYsiZk#SS=2RZd^0O%DO2S(lx2XS+~;=!6k3BZG`(q zYE>7(jSf1Z$&f47?s$)T{K0s_vU|sUNX7d5wwQaNyMZrGq%Dy7)zy|wq?#4ww{<90 z>r|Lq-E^>=Wra4?!g!g^WcNaHYxgBK+FZ4~^TwU<4a3Tx zz1C!C1Z6TT52Ij6*%_8~=UyvPM-5r&1GZQ8`)Kl2?vF63#~anQcNG8sDo zdIAyp6L2XyM&26TZNx2YzJQfp5qY8;sV7TWWDVJIqz3r)0X|WB2HSi?^at+t3-yTP Z0a2tWHG&K#=#0@ro5DPKmNrHwecucfpDO?W literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/ProductPage$3.class b/src/com/inventory/UI/ProductPage$3.class new file mode 100644 index 0000000000000000000000000000000000000000..5b619d0097b8531c80c3a002fcf0965ede9e3dda GIT binary patch literal 658 zcmah{TT4Pg5dK!JlP62N-z+T*%%Bt1TNel^5UhkQ@9S~X72S<<)*^`dO+iug&=2TG zMY9srL)d{cJ3D+c-+VLs@%i=+U<=teVim~=4ZV8+2LL%(UrFt^UIQ1*4( zlj>S1qk~)TyyR5^UF-O!!s}w2kULUIv&XQQ?+snKV2BlUO)wu=j)?y2qszBrV&KL{Mz;FccwibsKAORrgM+P2n4c z`9FIt%g_kQWJvd-U>LSDEb8`^R-}$7qWP{u?)xGPa~tcliQRwZ+k0Hd(yseJ`vOa) z>;&iuMCgyhrRX4eOLVspx3KyQR(L_=k#3}(EM<|sBRhoQZ~XE%K3;eNTYW|J2kv$Y d-4n?JqDWF|1SyQr8KZ|bhH3IFZH!L(z5o-5pG5!w literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/ProductPage$4.class b/src/com/inventory/UI/ProductPage$4.class new file mode 100644 index 0000000000000000000000000000000000000000..e65af0124e729b2e3ce26db98a26a72ce4c3e9e3 GIT binary patch literal 658 zcmah{+e!m55It$DYu8%q{a&k7s4cjHzIg#D3PRO_m-loxwkd5QyQ$*4==TVU;)5UH zM~Ran=!4XSolJ%^bLPzCS1qr+S8{Lrh0I_UVO%Iji_klRv8v&*nl=nY-HU`Uj8AQ*-#Qiu=d&?y2sCzBrJ!K;~ChYc`Q;?km5g zBdO{~!ZdW?U@nDuETrIIAcds$vREXIy(H#08B&KziLl(_Q6wVb>NeKms_vcCn!+~> z3xD=nk&zLU$uQrGf+1~ZSk~<;tw#o(-`>nMq6>1Bv5BlT2Cg$~=I&X6lqn*5sk{KojgvirMT$e#5#Z87gecfvsIOIslQtE*L;NHzCV z(9)4qjYDBBb=|>S5*cKZa4?XBYrT2oNMkRF`3;8Tfl?wYw|EqZh`73qwYX~d$F-&i z3`6$MUMn&(f-)I0y(k!l?F`GheWewtBZ_#TtB?nQh@$-Z8f{|xpZWG47ZzyOeV~1T zrPFo-^aNt`yYMJFNZu0NZNw{Hn-C$Q2h;y-Y& eTj-uh9uP;0Qe#MCgw6y#v@uMRXK533()R@;6rX$m literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/ProductPage$6.class b/src/com/inventory/UI/ProductPage$6.class new file mode 100644 index 0000000000000000000000000000000000000000..c0e1ef1f7f5072f57b8e016e33cb9a6c1e022e6a GIT binary patch literal 627 zcmah{T}uK%6g}hD>b9wUe`r!+U<$1d)r%5@6bKqZAMfk#pj$d4yQ|U93W}nKen3Ad zD!L;=J%lan+%vQ1o_p_^efxTO1+b4?0ue0eh+IyeFV%RE7r|w=cL~7FE45@}I_}Q@E=H7+X?$L?S zmqVY|daixL9jaPrTw5c{v~B~FtI}pueLqpKqJ;EwIrMCP>Z;`Qua5Rq9#uFIc2D}Q z=rnoIm5zor1MA2bh(R+DS15}Osx)o9{2_H#7lM1Wp5^=8XUP23*Rf*_0`4(nr>QX{ zl~py_A4oxikXpDf9>%h5?)&+JG8ta|$Hu9~V3V#hN;k{WX*DUK5WR6EK%NoWroB4R zi={`f;uAvmv}2f|HAWG5r`5phgugT4CyEbXrDueH==xabgTy}(Mv_uPNFhxzLVwac MRtV`N6QM}YHxL?^mjD0& literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/ProductPage$7.class b/src/com/inventory/UI/ProductPage$7.class new file mode 100644 index 0000000000000000000000000000000000000000..ddcedfa671669d3502940803d54b2559cc026d7c GIT binary patch literal 658 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 I@Ih|=FT|xMr2qf` literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/ProductPage.java b/src/com/inventory/UI/ProductPage.java index 160a452..6018000 100644 --- a/src/com/inventory/UI/ProductPage.java +++ b/src/com/inventory/UI/ProductPage.java @@ -48,6 +48,32 @@ public ProductPage(String username, Dashboard dashboard){ */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents + // Custom Rounded Panel for Card Effect + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); // Transparent to let custom paint show + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + // Draw Shadow (optional, subtle) + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + // Draw Panel Background + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); @@ -73,247 +99,239 @@ private void initComponents() { editButton = new javax.swing.JButton(); deleteButton = new javax.swing.JButton(); clearButton = new javax.swing.JButton(); + + // Wrap Table in Rounded Panel + javax.swing.JPanel tableCard = new RoundedPanel(20); jScrollPane1 = new javax.swing.JScrollPane(); productTable = new javax.swing.JTable(); + refreshButton = new javax.swing.JButton(); searchText = new javax.swing.JTextField(); jLabel9 = new javax.swing.JLabel(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N - jLabel1.setText("PRODUCTS"); + setBackground(new java.awt.Color(220, 230, 250)); // Little Darker Blue BG - entryPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Enter Product Details")); + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + jLabel1.setText("Product Summary"); + // --- Entry Panel (Card Style) --- + entryPanel = new RoundedPanel(20); // Use RoundedPanel + // entryPanel.setBackground(new java.awt.Color(255, 255, 255)); // Handled by RoundedPanel + entryPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20)); // Padding only + + suppCombo.setFont(new java.awt.Font("Segoe UI", 0, 14)); suppCombo.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Select a supplier" })); - suppCombo.setToolTipText("Select a supplier"); - addSuppButton.setText("Click to add a New Supplier"); + addSuppButton.setText("+ New Supplier"); + addSuppButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); + addSuppButton.setForeground(new java.awt.Color(65, 105, 225)); + addSuppButton.setContentAreaFilled(false); + addSuppButton.setBorderPainted(false); addSuppButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - addSuppButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - addSuppButtonActionPerformed(evt); - } - }); - - jLabel2.setText("Product Code:"); - - jLabel3.setText("Product Name:"); - - jLabel4.setText("Date:"); - - jLabel5.setText("Quantity:"); - - jLabel6.setText("Cost Price:"); - - jLabel7.setText("Selling Price:"); - - jLabel8.setText("Brand:"); - - jDateChooser1.setForeground(new java.awt.Color(102, 102, 102)); - - addButton.setText("Add"); - addButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - addButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - addButtonActionPerformed(evt); - } - }); - - editButton.setText("Edit"); - editButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - editButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - editButtonActionPerformed(evt); - } - }); - - deleteButton.setText("Delete"); - deleteButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - deleteButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - deleteButtonActionPerformed(evt); - } - }); - - clearButton.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N - clearButton.setText("CLEAR"); - clearButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - clearButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - clearButtonActionPerformed(evt); - } - }); - + addSuppButton.addActionListener(evt -> addSuppButtonActionPerformed(evt)); + + // Labels + java.awt.Font labelFont = new java.awt.Font("Segoe UI", 1, 12); + java.awt.Color labelColor = java.awt.Color.BLACK; // Changed to BLACK for visibility + jLabel2.setFont(labelFont); jLabel2.setForeground(labelColor); jLabel2.setText("Product Code"); + jLabel3.setFont(labelFont); jLabel3.setForeground(labelColor); jLabel3.setText("Product Name"); + jLabel4.setFont(labelFont); jLabel4.setForeground(labelColor); jLabel4.setText("Date"); + jLabel5.setFont(labelFont); jLabel5.setForeground(labelColor); jLabel5.setText("Quantity"); + jLabel6.setFont(labelFont); jLabel6.setForeground(labelColor); jLabel6.setText("Cost Price"); + jLabel7.setFont(labelFont); jLabel7.setForeground(labelColor); jLabel7.setText("Selling Price"); + jLabel8.setFont(labelFont); jLabel8.setForeground(labelColor); jLabel8.setText("Brand"); + + // Text Fields + java.awt.Font textFont = new java.awt.Font("Segoe UI", 0, 14); + javax.swing.border.Border textBorder = javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + ); + codeText.setFont(textFont); codeText.setBorder(textBorder); + nameText.setFont(textFont); nameText.setBorder(textBorder); + quantityText.setFont(textFont); quantityText.setBorder(textBorder); + costText.setFont(textFont); costText.setBorder(textBorder); + sellText.setFont(textFont); sellText.setBorder(textBorder); + brandText.setFont(textFont); brandText.setBorder(textBorder); + jDateChooser1.setFont(textFont); + + // Buttons + styleButton(addButton, "Add", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + styleButton(editButton, "Edit", new java.awt.Color(255, 193, 7), java.awt.Color.BLACK); + styleButton(deleteButton, "Delete", new java.awt.Color(220, 53, 69), java.awt.Color.BLACK); + styleButton(clearButton, "Clear", new java.awt.Color(240, 240, 240), java.awt.Color.BLACK); + + addButton.addActionListener(evt -> addButtonActionPerformed(evt)); + editButton.addActionListener(evt -> editButtonActionPerformed(evt)); + deleteButton.addActionListener(evt -> deleteButtonActionPerformed(evt)); + clearButton.addActionListener(evt -> clearButtonActionPerformed(evt)); + + // Layout for Entry Panel javax.swing.GroupLayout entryPanelLayout = new javax.swing.GroupLayout(entryPanel); entryPanel.setLayout(entryPanelLayout); entryPanelLayout.setHorizontalGroup( entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(suppCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(addSuppButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(codeText) + .addComponent(nameText) + .addComponent(jDateChooser1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(quantityText) + .addComponent(costText) + .addComponent(sellText) + .addComponent(brandText) .addGroup(entryPanelLayout.createSequentialGroup() - .addContainerGap() .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(suppCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(addSuppButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(codeText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(nameText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(brandText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jDateChooser1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(quantityText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(costText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(sellText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(addButton) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(deleteButton, javax.swing.GroupLayout.DEFAULT_SIZE, 75, Short.MAX_VALUE))) - .addContainerGap()) + .addComponent(jLabel2) + .addComponent(jLabel3) + .addComponent(jLabel4) + .addComponent(jLabel5) + .addComponent(jLabel6) + .addComponent(jLabel7) + .addComponent(jLabel8)) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(entryPanelLayout.createSequentialGroup() + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(deleteButton, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE)) + .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); entryPanelLayout.setVerticalGroup( entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(entryPanelLayout.createSequentialGroup() - .addContainerGap() - .addComponent(suppCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(suppCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(addSuppButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(addSuppButton) + .addGap(15, 15, 15) + .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jDateChooser1, javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE) - .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(quantityText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(costText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(quantityText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel6) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(sellText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(costText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel7) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(brandText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(sellText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel8) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(brandText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(20, 20, 20) .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(addButton) - .addComponent(editButton) - .addComponent(deleteButton)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(clearButton) + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); + // --- Table Styling --- productTable.setModel(new javax.swing.table.DefaultTableModel( - new Object [][] { - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null} - }, - new String [] { - "Title 1", "Title 2", "Title 3", "Title 4" - } + new Object [][] {}, + new String [] { "Code", "Name", "Date", "Quantity", "Cost", "Selling", "Brand" } )); - productTable.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - productTable.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { - productTableMouseClicked(evt); - } - }); + productTable.setRowHeight(40); + productTable.setShowGrid(false); // Clean look + productTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + productTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + productTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); + productTable.getTableHeader().setFont(new java.awt.Font("Segoe UI", 1, 12)); + productTable.getTableHeader().setBackground(new java.awt.Color(65, 105, 225)); // Blue Header + productTable.getTableHeader().setForeground(java.awt.Color.WHITE); + productTable.getTableHeader().setOpaque(true); + jScrollPane1.setViewportView(productTable); - - refreshButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N - refreshButton.setText("REFRESH"); - refreshButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - refreshButtonActionPerformed(evt); - } - }); - + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + // Add ScrollPane to Rounded Card + tableCard.setLayout(new java.awt.BorderLayout()); + tableCard.add(jScrollPane1, java.awt.BorderLayout.CENTER); + tableCard.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); // Padding inside card + + // Search Bar + styleButton(refreshButton, "Refresh", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + refreshButton.addActionListener(evt -> refreshButtonActionPerformed(evt)); + + searchText.setFont(new java.awt.Font("Segoe UI", 0, 14)); + searchText.setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); searchText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { searchTextKeyReleased(evt); } }); + jLabel9.setFont(new java.awt.Font("Segoe UI", 1, 14)); jLabel9.setText("Search:"); + // Main Layout javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel9) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(refreshButton)) - .addComponent(jSeparator1) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 496, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(layout.createSequentialGroup() + .addComponent(tableCard, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE) + .addGap(20, 20, 20) .addComponent(entryPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel1) + .addComponent(jLabel9) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel9)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED))) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(entryPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addGap(64, 64, 64)) + .addComponent(tableCard)) + .addGap(20, 20, 20)) ); + } + + private void styleButton(javax.swing.JButton btn, String text, java.awt.Color bg, java.awt.Color fg) { + btn.setText(text); + btn.setBackground(bg); + btn.setForeground(fg); + btn.setFont(new java.awt.Font("Segoe UI", 1, 12)); + btn.setFocusPainted(false); + btn.setBorderPainted(false); + btn.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); }// //GEN-END:initComponents private void editButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editButtonActionPerformed @@ -432,11 +450,32 @@ public void loadComboBox() { } } + // Custom Header Renderer to force background color + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { + setOpaque(true); + } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); // Light Blue + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + } + // Method to load data into table public void loadDataSet() { try { ProductDAO productDAO = new ProductDAO(); productTable.setModel(productDAO.buildTableModel(productDAO.getQueryResult())); + TableStyler.styleTable(productTable); + productTable.getTableHeader().setDefaultRenderer(new HeaderRenderer()); } catch (SQLException throwables) { throwables.printStackTrace(); } @@ -447,6 +486,8 @@ public void loadSearchData(String text) { try { ProductDAO productDAO = new ProductDAO(); productTable.setModel(productDAO.buildTableModel(productDAO.getProductSearch(text))); + TableStyler.styleTable(productTable); + productTable.getTableHeader().setDefaultRenderer(new HeaderRenderer()); } catch (SQLException throwables) { throwables.printStackTrace(); } diff --git a/src/com/inventory/UI/PurchasePage$1.class b/src/com/inventory/UI/PurchasePage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..159d169cfe4120030676fc890645ebac7f46f389 GIT binary patch literal 664 zcmah{+e!m55IyO|wQIHYez&Dms1@7_zEuiRDhO2zUJ!jsx3P`vCbGL${47CHeDDMO zC~;B*eUKW+WHLE3XD<2pe0vA5gM11J%-Bd`*2Wa(EX-S2w6Mf567^(QtT5!7uJ#?N z`a(rIcyP`RoYr07_IM~-yep~%-IYp4HHJdzAMD0CL!z!bf+5qCN*vw!Z4sREwr4Ed zjigpB5nSuQ7agK5HE(#IJN!O!gyDDg29So)t0tIzqA3@#FHL~S-+65rPYT*luBSt( zx`!g_>5hfvG*+;hhK12IQbt=tj<|+aS=?qwA1Eb)y2ry%gbdk1Y93cz=eT_%+=yZI z&up7Aj0Abo`%n&s3Dd{A_HVVK0*NDD8WhQ0SA;Z-3XP-oUyp~k40)P(5;QchY}Pb^ zK0=Ik3N~5CNGs6YSnTrVGg$cru}8X5{UphY~ literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/PurchasePage$2.class b/src/com/inventory/UI/PurchasePage$2.class new file mode 100644 index 0000000000000000000000000000000000000000..10e4b0ebc2d5afde20551c0621bf7914d2c412e0 GIT binary patch literal 626 zcmah{+e*Vg6r62qFERGwz21=uwSrOcts+RNAXX7?@7wfXqv@_BX{DbfD2fk$fFC8E z6+uC01KBgX%$b~-&By24JAhp*Wstyxg%M0zC}1ju=@e!Kl2O|WOIrfV4Oe#@PxVMe zI_NuBN6uL{aN9DZGkHT*rtW#li}nRp%R{*9*8+)}ZjnH);VC-pcA6Ai%BIgJqj%Il zC!bijC9qI#+{&JGdC(57i){kn2}9eV2Kgrc@? zrBJjnhj|-Gq->-OTEHUv8)&bzBVZpXMM2G%VMw7s@&8;0EqNbNAh0-4OdxBLs_D+X zR_uhu;^l8Q(sd~eOWRu`{8FQPY@fgi2u^9Zz09v8gXQ~HHIAWToe2wjbnz9#WD%5 G{Coj3Pn7lm literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/PurchasePage$3.class b/src/com/inventory/UI/PurchasePage$3.class new file mode 100644 index 0000000000000000000000000000000000000000..8208f4af8b4f6a201ab31f54fdb152eda35fcf24 GIT binary patch literal 664 zcmah{TT4Pg5dK!JlP62pKtC#) z6`>wN7j|}b_M7?UvR~gHp8$@r9Y+icE+(+(Vh&3VmL04*SYwzBThinX7`Cdu?s`)7 zg$i}>^EYA)6nA-MwRom32cfB&$-1%U-uGf*W4%SPS<< zsZ~t`_d4i`22tm$ZQkb|e+)fg`MuKtEVkQ$`c;i~Cf)!V`k88ZK7 zTa_jhnB3t3jiWTK$D><@ZJPK5XlP)mlx+fi zgb3|8T(VA+mZiJ3xP`q}u)-T6&vc{uNs<>yLvjYQL;TJVA1}Os?Y$%V3wH;BdPLGk Y6iIT8AcZuYG5T)vSRu{Q#^|K=10>0zOaK4? literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/PurchasePage$4.class b/src/com/inventory/UI/PurchasePage$4.class new file mode 100644 index 0000000000000000000000000000000000000000..9e75328cd31988b3fa924719625b5b98c083450f GIT binary patch literal 664 zcmah{TT4Pg5dPLnCr_5z{a%QH8FYkvGlUR>z)I-yz8*JS(cL(EDvJ71K~eP359mil zvl7%p*uu`v&VDoBT=wJh?Hxb~>j}g#?IMmD7n7KEFy~;w!6L&**pVhzWLT^Fy6;JK zEmWw3Tkq_^Yg`3>ha1u0ZBZuZu2eFtFl6)pU^mYhVpZJ|45_+Q;^?a16u~KP_N;~b zq137&f(sq=MT@BO^)A2W9={1aVfnqi0iv7fgj+~w{UphYUzOnl=vzVV5|6WG=(qCaqV5a^yr a9uP%}Tq8&$LuZV>+Z5(Wv$QcfX?+1JnW19< literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/PurchasePage$5.class b/src/com/inventory/UI/PurchasePage$5.class new file mode 100644 index 0000000000000000000000000000000000000000..7de46b5cf4db91a68648e34210a554c3384439c9 GIT binary patch literal 664 zcmah{TT4Pg5dPLnCr_5z{a%QH8FYNGCqoD^2&{xI@9S~X72S=qr=rKGKNJ*25B-3C zR5U9=J%lan?Ck6}^UY;HKHuH}l(3#a4AU;+m~kKs!wN$-{||QaoFP`#Ey0kgOC^r3`b`m>@@CIk zxF1Tb8X~yRL0`0pI$!VdYwq!z&=Z#5+Z#Y?RxjIN?un*c#J;ovGQacMww@HUru?2Z zQne37*wHNqOGzwaB?$+kNhGYciZ$XIT4ipBA$g#b2&z49j4%x8L25m&+TL-qEBugQ z<3t{%!-VZ)RrfEoq5_E{njaL&eP0-pD-~%RmH&D?yk%IYiN`@h152lE z6X+vEXeZ#3b&Rwu-L1tfY(0Y&UJ!Yt8`V#eyhz@W9LK~re&ZXTC_I5}y(0PpcL#y) biR1xMq{uabG%|F?=(|l}o-|7vqm$MbGHIcD literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/PurchasePage$6.class b/src/com/inventory/UI/PurchasePage$6.class new file mode 100644 index 0000000000000000000000000000000000000000..b6352692c1f9ae68731d49af0aa8f961c40ca1b7 GIT binary patch literal 633 zcmah{%Sr<=6g}y?<5*kYuU07)Y734Fb>jo1C4J zuEm>D(1o;tkoZE`Kn__f$2>YgXP;D8}t9Kl_`Vu(~!LoiHKJtK4`TuKH#qn_{q{ESosCvU%J&7`Xuo$gps1u5GIhO7@_}Z N5_5zsl8I2H@dM<)nVtXu literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/PurchasePage$7.class b/src/com/inventory/UI/PurchasePage$7.class new file mode 100644 index 0000000000000000000000000000000000000000..4f18517cba74dc9f0d3b3bdf188b6e337ea1d03c GIT binary patch literal 664 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 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/PurchasePage.java b/src/com/inventory/UI/PurchasePage.java index 14d5d8a..133457b 100644 --- a/src/com/inventory/UI/PurchasePage.java +++ b/src/com/inventory/UI/PurchasePage.java @@ -44,11 +44,42 @@ public PurchasePage(Dashboard dashboard) { */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents + + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + public RoundedPanel(int radius) { this.radius = radius; setOpaque(false); } + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { setOpaque(true); } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10))); + return this; + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); - jPanel1 = new javax.swing.JPanel(); + jPanel1 = new RoundedPanel(20); // Use RoundedPanel jLabel2 = new javax.swing.JLabel(); suppCombo = new javax.swing.JComboBox<>(); addSuppButton = new javax.swing.JButton(); @@ -69,41 +100,70 @@ private void initComponents() { purchaseButton = new javax.swing.JButton(); deleteButton = new javax.swing.JButton(); clearButton = new javax.swing.JButton(); + + // Wrap Table in Rounded Panel + javax.swing.JPanel tablePanel = new RoundedPanel(20); + tablePanel.setLayout(new java.awt.BorderLayout()); + tablePanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + jScrollPane1 = new javax.swing.JScrollPane(); purchaseTable = new javax.swing.JTable(); refreshButton = new javax.swing.JButton(); searchText = new javax.swing.JTextField(); jLabel10 = new javax.swing.JLabel(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N + setBackground(new java.awt.Color(220, 230, 250)); + + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); jLabel1.setText("PURCHASE"); - jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Purchase Product")); + jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20)); // Added padding + // jPanel1.setBackground(new java.awt.Color(255, 255, 255)); jLabel2.setText("Supplier:"); - - suppCombo.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); - - addSuppButton.setText("Click to add a new Supplier"); + jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 12)); + jLabel2.setForeground(java.awt.Color.BLACK); + + suppCombo.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Select a supplier" })); + suppCombo.setFont(new java.awt.Font("Segoe UI", 0, 14)); + + addSuppButton.setText("+ New Supplier"); + addSuppButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); + addSuppButton.setForeground(new java.awt.Color(65, 105, 225)); + addSuppButton.setContentAreaFilled(false); + addSuppButton.setBorderPainted(false); + addSuppButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); addSuppButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { addSuppButtonActionPerformed(evt); } }); - jLabel3.setText("Product Code:"); - - jLabel4.setText("Product Name:"); - - jLabel5.setText("Date:"); - - jLabel6.setText("Quantity:"); - - jLabel7.setText("Cost Price:"); - - jLabel8.setText("Selling Price:"); - - jLabel9.setText("Brand:"); + // Labels + java.awt.Font labelFont = new java.awt.Font("Segoe UI", 1, 12); + java.awt.Color labelColor = java.awt.Color.BLACK; + jLabel3.setFont(labelFont); jLabel3.setForeground(labelColor); jLabel3.setText("Product Code"); + jLabel4.setFont(labelFont); jLabel4.setForeground(labelColor); jLabel4.setText("Product Name"); + jLabel5.setFont(labelFont); jLabel5.setForeground(labelColor); jLabel5.setText("Date"); + jLabel6.setFont(labelFont); jLabel6.setForeground(labelColor); jLabel6.setText("Quantity"); + jLabel7.setFont(labelFont); jLabel7.setForeground(labelColor); jLabel7.setText("Cost Price"); + jLabel8.setFont(labelFont); jLabel8.setForeground(labelColor); jLabel8.setText("Selling Price"); + jLabel9.setFont(labelFont); jLabel9.setForeground(labelColor); jLabel9.setText("Brand"); + + // Text Fields + java.awt.Font textFont = new java.awt.Font("Segoe UI", 0, 14); + javax.swing.border.Border textBorder = javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + ); + codeText.setFont(textFont); codeText.setBorder(textBorder); + nameText.setFont(textFont); nameText.setBorder(textBorder); + quantityText.setFont(textFont); quantityText.setBorder(textBorder); + costText.setFont(textFont); costText.setBorder(textBorder); + sellText.setFont(textFont); sellText.setBorder(textBorder); + brandText.setFont(textFont); brandText.setBorder(textBorder); + jDateChooser1.setFont(textFont); codeText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { @@ -111,21 +171,23 @@ public void keyReleased(java.awt.event.KeyEvent evt) { } }); - purchaseButton.setText("Purchase"); + // Buttons + styleButton(purchaseButton, "Purchase", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + styleButton(deleteButton, "Delete", new java.awt.Color(220, 53, 69), java.awt.Color.BLACK); + styleButton(clearButton, "Clear", new java.awt.Color(240, 240, 240), java.awt.Color.BLACK); + purchaseButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { purchaseButtonActionPerformed(evt); } }); - deleteButton.setText("Delete"); deleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { deleteButtonActionPerformed(evt); } }); - clearButton.setText("CLEAR"); clearButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearButtonActionPerformed(evt); @@ -137,43 +199,28 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() + .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(suppCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(addSuppButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(codeText) + .addComponent(nameText) + .addComponent(jDateChooser1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(quantityText) + .addComponent(costText) + .addComponent(sellText) + .addComponent(brandText) .addGroup(jPanel1Layout.createSequentialGroup() - .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(suppCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(addSuppButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(codeText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(nameText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jDateChooser1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(quantityText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(costText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(sellText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(brandText)))) + .addComponent(jLabel2) + .addComponent(jLabel3) + .addComponent(jLabel4) + .addComponent(jLabel5) + .addComponent(jLabel6) + .addComponent(jLabel7) + .addComponent(jLabel8) + .addComponent(jLabel9)) + .addGap(0, 0, Short.MAX_VALUE)) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(purchaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -184,47 +231,47 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() - .addContainerGap(12, Short.MAX_VALUE) + .addContainerGap() .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(suppCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(addSuppButton, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(suppCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(quantityText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(addSuppButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(costText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(sellText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(brandText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel6) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(purchaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(quantityText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(costText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel8) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(sellText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel9) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(clearButton)) + .addComponent(brandText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(20, 20, 20) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(purchaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); purchaseTable.setModel(new javax.swing.table.DefaultTableModel( @@ -238,69 +285,92 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { "Title 1", "Title 2", "Title 3", "Title 4" } )); + purchaseTable.setRowHeight(40); + purchaseTable.setShowGrid(false); + purchaseTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + purchaseTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + purchaseTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); + purchaseTable.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); purchaseTable.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { purchaseTableMouseClicked(evt); } }); jScrollPane1.setViewportView(purchaseTable); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + // Add ScrollPane to TablePanel + tablePanel.add(jScrollPane1, java.awt.BorderLayout.CENTER); - refreshButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N - refreshButton.setText("REFRESH"); + styleButton(refreshButton, "Refresh", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); refreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { refreshButtonActionPerformed(evt); } }); + searchText.setFont(new java.awt.Font("Segoe UI", 0, 14)); + searchText.setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); searchText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { searchTextKeyReleased(evt); } }); + jLabel10.setFont(new java.awt.Font("Segoe UI", 1, 14)); jLabel10.setText("Search:"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSeparator1) .addGroup(layout.createSequentialGroup() - .addContainerGap() + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel10) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 459, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, 459, Short.MAX_VALUE) // Use tablePanel + .addGap(20, 20, 20) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(refreshButton) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel10)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel1) + .addComponent(jLabel10) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) // Use tablePanel .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addContainerGap(28, Short.MAX_VALUE)) + .addGap(20, 20, 20)) ); - }// //GEN-END:initComponents + } + + private void styleButton(javax.swing.JButton btn, String text, java.awt.Color bg, java.awt.Color fg) { + btn.setText(text); + btn.setBackground(bg); + btn.setForeground(fg); + btn.setFont(new java.awt.Font("Segoe UI", 1, 12)); + btn.setFocusPainted(false); + btn.setBorderPainted(false); + btn.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + } private void refreshButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_refreshButtonActionPerformed loadDataSet(); @@ -335,6 +405,7 @@ private void purchaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GE new ProductDAO().addPurchaseDAO(productDTO); loadDataSet(); + dashboard.refreshDailySummary(); } else JOptionPane.showMessageDialog(null, "This seems to be a new product" + " that hasn't been added yet.\nPlease add this product in the \"Products\" section before proceeding."); @@ -355,8 +426,9 @@ private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN- JOptionPane.YES_NO_OPTION); if(opt==JOptionPane.YES_OPTION) { new ProductDAO().deletePurchaseDAO((int) purchaseTable.getValueAt(purchaseTable.getSelectedRow(),0)); - new ProductDAO().editPurchaseStock(prodCode, quantity); + // Stock update is now handled in DAO loadDataSet(); + dashboard.refreshDailySummary(); } } }//GEN-LAST:event_deleteButtonActionPerformed @@ -422,7 +494,8 @@ public void loadComboBox() { public void loadDataSet() { try { ProductDAO productDAO = new ProductDAO(); - purchaseTable.setModel(productDAO.buildTableModel(productDAO.getPurchaseInfo())); + purchaseTable.setModel(productDAO.buildTableModel(productDAO.getPurchaseInfo())); + TableStyler.styleTable(purchaseTable); } catch (SQLException throwables) { throwables.printStackTrace(); } @@ -433,6 +506,7 @@ public void loadSearchData(String text) { try { ProductDAO productDAO = new ProductDAO(); purchaseTable.setModel(productDAO.buildTableModel(productDAO.getPurchaseSearch(text))); + purchaseTable.getTableHeader().setDefaultRenderer(new HeaderRenderer()); } catch (SQLException e) { e.printStackTrace(); } diff --git a/src/com/inventory/UI/SalesPage$1.class b/src/com/inventory/UI/SalesPage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4c7ddf0a9d98730a49b63099935f5164c644ec85 GIT binary patch literal 608 zcmaJ<+e*Vg5Ix&_W3=^dYrP-}wFOhb2caTJQ7BdsZ-_o^)4@j5O-Z8C&k_{H2S31% z5@$v9LE1oe&Ms%p%$(hi&$o8~8<sXGu zClz{r&pNAHC(@{vy5=fdzX;i=*SLr|1^16UoSBm_aD}#Unf!zO&c3QF%cWPdz z>nR?9m7>M(A*5|n!2VX);mv{04KM?Xe0OoaMv=|x`4~m`PazHViO~}8^@&j`KSPvW z5P9Ss8_sKjBXGg1iQymq$`3zXdV(mwBKk)+zJ)GX{0dQwaB2h@WI4w8*^FVDk-;)C Hj{JQAAF+)T literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SalesPage$2.class b/src/com/inventory/UI/SalesPage$2.class new file mode 100644 index 0000000000000000000000000000000000000000..cd442cd3cdd23c298c859a6921bbae66bfe98335 GIT binary patch literal 608 zcmaJ<+e*Vg5Ix&_W3=^tzaSNA1*77Fpa@bb6sw50M{!LD8%;NojY>aDP!u2h06$8c zEkz%s4P@u+a^}p;+5P(d_yn+txhxVGwvfb#g+Yv_F_y-JKq_i@y09iNQ*(o+3e0++nn=R2Y`)zV3Qb z^@WObc<)^udlx(q=A5@gm2i7f$!MP;U;GcadCicj>84T#gViH#(z56vT0QDQ2Bv2QngM* z)YeT0OBpOA#<#h2x|d1Mi_={+*H6-%R6gygdZ`i4D7Qm zO(ZCjA@?@{^=)TY)7@LGNEZ<#i?KHD`@)#Qc7^6&{dcbQf%M;F!W!*&2(%@zY}RV0 zwI}FL!=>mbdFyny5w}!+0xLZu@jy3HPL{IBw#bfQ{0qPFg-@3r!OAa4{=(h3kR*~0 Zl9-^>1hSZ0^ypl=mHih@ut;N?Bt#+tHCbhB3cEJ0Cx@B{oP zak6-Mv0d27WH>Wt&P+Z&-`)XiqnJhtGcJZO>tYIX4(1&!I><2$N7vGnstn5wUw1vJ zdO}4yeDE#~y)zyNbIRMIMz|fRWVFjrC=UXzUoxcXx+NGU8d8blyKYm2=e!x%2=^nY z)u{-tbl4TGxLAkxxX14!PgrJeFNW+}zh;ZMXZkMm#euX1#(z87v}sgvU-^MHQnimn zbgf$smNHmIJ_83M8KkYZf&!`QFRrxBkU3OJg!O7ZHi9%z5pFMnVtXu literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SalesPage$5.class b/src/com/inventory/UI/SalesPage$5.class new file mode 100644 index 0000000000000000000000000000000000000000..0d06196fbf4a77845d57f5bea4594d06be266d06 GIT binary patch literal 646 zcmaJ<+e!m55IyO|wQIHYuC-N>3blgkgFaORDGG&p0Wa_AHnu6-L^i9UeeUH4leJmamvMz|kI ztxiOEsl&c#$HjX5hI{-r@`Ppf_F~As^=r16d#bNPUmQqVVC=i24Vy+4_mv-LBUR^6 zL|xr>u#iO&r7Ro_XOXeqB9=(q-{Q*K4B3WKBCH487-1OlaZ>?T9q+i+6Mn={`nAud zG?Ac8hQi+j)VG~oUH7lFB3(p~ti;;5?+atfTbnfh+P`yc{!0HfCM?r_)1WPZ5)X7E@C?*j1BOs1AM0X2)6!$#Y65wT)0v{jHHkU$ENzNT`aS_9rg9qiw%4M zKayGr=wMyMiqCJA7~?0 zb6-Rky5V3ZgFI$4aL|`Q+In*+kh;Ic6*n0&Ri#8&3Ai!BFl6JV0qxqNroolTt{r8wKPy6iwZ3!%! zwc2Uz3HsA;DcVoo0^M!IEv-C(m7bA!pc^SCOIc)Z$qr!f3%~eBFf13U*Zh_{{4R8aIo3Hf|BnnT8zHNvx`8W>J(HaNt!B$)k^Yf%eWg9w zJQZO}H4>P&v4BMzaU^Uc4a#AOIvd@X+;aYHn{5wt@Ar2vUzW)eM1ewDqZ0S-6qRsO^<{k^d*r3c|~ZA)@H{l zZa#q(pAmVW6~idaaf-kP%{IpR{PjLRReS{7d_nY&ZuNvdN&E{@q$xFm46+ns^m-;R LOUNRb7)2UCqZN_T literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SalesPage$8.class b/src/com/inventory/UI/SalesPage$8.class new file mode 100644 index 0000000000000000000000000000000000000000..239deb5f58982e768e91b40c50a751b92f134708 GIT binary patch literal 608 zcmaJ<+e*Vg5Ix)0USiaGx89KowFTpYpr8m+6vQgx?R}dLHkxiqHm&rt1V!<|5Aah& ze?goT(FbV***UwMIWu#1Uq7E;0IXv^g9Jt`^kK}xFve4uNMTAK8Pz?VUlW+ExIx45 zRGU;3gdOMNz&VpX=@WTHTg=<`lo#y?EEIYXS1tt-<)B6aLlsZaajQ|K@LX1XKIy-q z&MEmMHPyIap>i$T(vi23L#C>8NS!?cwv38(7PLZ__C1q1_}j{=$zkz5<@$m4)YTD1 z^`MqQ&c-xmY$TDgkv3=+b6lnSRQXK-`#>oQ%f8f_v_S5EN4quIj3^YC?ykfQ8h6S; zqZue3fR*Bf?;)h?lGgc+HFkKjr*l2bz#`vWA77)$X3czzV*IC(0sF*giTCEjDwZA~ zijRoh@s17WHOUcp|v z{)ZnUqFL%hAHBe3QjC^jj1*&~I8=(mqzFh+?xRDvLZER4D8@^1xD*q7G?XU_G)YD$ zd$>}1Dx{~%!___-ZZ)QOc&c>PNHI-{=~B#)Vx|VAVs5xmwEXpAI;__;dQx} zkCwXG%Pl@$!7D}9RbD>E%d5Q{^m410*LZlXkLvhX;qW*QxA~}%kM;68VFUz@m%7=* zC-|tDq11`I-osz>(Mp*ykx%k+$io|a6qHHr9`5kbS^-TDclxM}kM;0I;bD^$VGnQi z(R$t@j6@2!i=)zvNzv`&lR56;gpZTlBaN*Eyp6XDv_pzhWZ+bRb_)J!0-Y|!F2OrP z`py)RX9?cf(mcn*=X&@&51;Sh3%q=xm%r}ii@bcXk9znLQQ)N>zRX9vM3!m%4bkuA z9{#3}&K41_5W8zGuN0D3$y!$n;x%5r)<>7|bzZ*S%ir?w4bu9yhi~-J<>E}!_&Yw@ z#y9!+X1+!GZWZ&~CeZC(zC%>qELPv`+dQ%-=8M z`}lqj@A1*?(sMgM;Nu5D8&IzlDIf3UeNsFm#lzCqC&eSO-lJZA%)^iSXb=BD7<)oE z`JsoO^ihf{y!@2ZPkZ?pS>{06pqMDyd zkM4d&pjSQo8k5l!jhgYgNGOpo6HMNogc*;9x=bd2^XAajP)#Hh-B=S$#>3H#^O*`d zLWxZqVxf2k)0pP=SXWIry48#(WAPm|Ynp26)1yH3p4=0PCd0`cOx%QKcRbcn7wZ7! zqEJUiT~8vpv?rO2MVUtEmA2O;wqcQ)8q z?V*Sn?FhwdmgiuBh-b4V2Yefvk%4ArpjjDcb_SZ0f#!mh&B69~ED~82ikcu*n$K`{ zOq8-YXm*Fa};ExO=S)H5)d}g8rl$nvHB@b z_ky}F0n@Z^N>4B&k+dEQ5@?7Z12wOEG1zb*2TKIV^Me{oY^r+@JHvGxwbtSjzw3Q@y=Mh%Y+jjW^)kQmaH+w zlWQ!L27%|x{Gwno)V`%9)NLA zVI&snz=j9~O>D^_(h6$7kUnheLCh;E^@ZBo%|v4Sv}x0rj+ivi;z4o1RiTaMe9J$w z*2&>HOJ};!NfVtRjrm`RXn&KZNzKfqJ1e&_JGU`M8uPx=ig~un@;+CS4aR!n?PgvLBFA2!WHvIGDnL+f1$tjpQm@WLI0-r4Eil-)9>go=)C!ubJ zLVv}-W^x5NVU=@zrp7x}Ne`D}(`F95Yp5KCLB?iX2%y>Xfw0R(I zrSdX^zI|jeY|MKv^4St_LF!)3MkHH`Fryl;y;LrKfw8E^!X;Ul?yZ_hV z{rm+AMINOLWL(^-?qS^5PpXppA%kJZrE(LClP&1v^_O@R$pG1mFgimX$>bM zWs_fvZpKGYmYK)=Aigpj?G)I886+-42>QD#`y&ML; zs(_)&RRz${Kr<12oh`HOWwuRi#H&8LC=MG1OG}AiYel7^+4gs*s_ks~H|O(@?W; zmaEyS(ol00)OmzDl4-oHjLtAlnGpU&0de!>o^agk2y{w5oS4cqHvfzeF48+jvoTNM zD*L*j7N~^-S#Hg;+zOT#vEfmR!4|`3mq?@5P)k*vq3TtGp&HdPLmj1>47D7RsH0Ug zQ**0mR1y=Py(u~ml zn>aaA6FjE5VSBr&m2RjOQP2uiVbH7eqHUSn%yMZ@IMQL_fN@LeI}Z-EQmw+l*Vz+^ z$d$)X$Eejfg#$YS&9QcE-+2LyN9+dEl$|>Rfy`kO5J937Z8-wrXdvw-Q-QT}r=fxh z+pSQtDxChZ1h@kA+O45*MD}bTop%c}t!fQZwO%0|2L>$Al)h|X1uVdYVuZEoSVJAB z+6=W$)+@_5Hg08^fMCbC8qwWqGlA1W=WV50q1hZOo1CPzm>o;!U&vV!W^!#f5!SZ^ z=cIL#*c~!R!q?O!BOYK|A=96ehf0r5vSrx1OK4`&`N+~(92RRtgvA9D+_%R~ghYMz zbXa3dvjNZB&`}@#EPuAZRIG(>eHA*LEK7Gv-B%+P;+lCX$(DaBxoNMi-%8vqC=6| zNO)tk3+E-g5(7HfYm9-{wB5wcb?FG&Le3UXjib3<)?(~4zs2mjKku;ehyEmq-H9Eq3_y@F&@`R!(l$Fz+H&T>{Uv2uJgB<9 z3I#8?)$Zw0Cm?mUeg3F?j&uE2!(YL_m;e7s4V2fPcMRFg+6UNR8`5SLalPy zbWn#JxMo|v0AFIggE{*^+68M?WZbMJf1O;NXU??w>ke$&{#(hrv=;ZTrWFlL3oX+6 zzM1j$uVBLxsC}&&PloY&X)C>Q((!{_3I^$tpzXzc`zleMFQs+m$lf({L@0r+bncK2 zLAb@|NMHr2JOn+hShx(E+q!X8k{au_uC8r@3J?LdKHi3lOrzBLlc`~+gk9#g%DVe&=A|mG&x5TSzBt(tt8dHpNZb} zeEXh}p1N???G5p z9*gvJMeAZc`sFRu-Hl&la49>m`g6$Imp_PG07_{mpYT7;6&+!ch-Fzk-I8}XrY|Fs zQM4f|%gc6Cv@<3?e*iBj-q3@aYW8r|&)M2N@-A-u&Nb^u9`FhT=JhEh>sk*h_N6Wz zcXI+GUJ7#auK_11mD3A!2!5|0jXyjqqa=A*)-@h2bdAe5Y9&vuy2ksfuJOpLYdk{h z8jrKO#v`t-@#d^+JRj>CFUY#aBeJgXj;w1uCF>gRvAV|Ft*-GZt!q3X>l*LLy2ewt zuJNj@YrN>{8jrfV#!IoT@pg@RI5D2iKS22*TE{~U2kMEHd#M0_zRIdzDy*#TC8P2| zDsrS~28r>Nw9pfY`gvVy!Q41!Ky4+4bW!2C<_(?oB|3{d#MKCG=S54X$C->otatO zS|dUuqXp=r<~A8lfiKkfIY&i4#g!G5*TY)ko{w078vlYnHkyMJH8N?V(VLHUMr|p90$cQ$gInGq{&dOVQ~T7rSIfospt5(X5fK6rF`?W*?m`Bj;Gh!z}-~ zI7Re!!d_~rg!#^^uC_K3VA)7HEzBPVoiwHmW$i05`z&pCd#B74*S}XI!D}!&5_;N0 z=L-VmNaVcLhbX(OyE=d>2U2qeXN*EvDOP3EfAv)CcTms184c)Z=H~2K?sSi1@q=KYBND z2`%SReBO3At>CG&is#a5UP7(hgiqO4({UWaw`ASa!Do}n7gHzSKpXik>f#3}%1=>@ zU&ZHSzoxDH4}A0W8J(t_bh;W&yVN*3S5?t@Y7SkX7SV;Oi7rxW=wfvuU7|M7rK*!I zQ(^js>ZZ%pPWq<0fUZzi(v|8ax=P(fSF8K!8nu_MRgcki>It-;rt8%!^ey!U-JpI; z-&Sv-{b#ySeL&w)pVCbZFWu}Yq#GT@bcbWc1JbZ)94PzLfY-9qwhMF z)18hMw2z_hIo8u%jt;up(M|U_5@>Iw%N;xDUdK+l%(06uahyf>InJm19T(9a$EEau z<0^X4aSQc2?x2+8Zrba3i1s-i0sJ`npQeW#uh7GeH>uC@M|#BZHa+Tij~;WthR#Cz zfpZ8w<{VB>ILqmW&T4wnIg_4pE}^HL&Gd|OCEzvmtn&o=kuyxsIk(dD&K-bv(F@M= z=*P}0=qJvb=tbwPfbXQ2a8~}*`3Sx2e3D*qK2NVYU#8cbuL1r!z3%)a?Qyv{Ur z^%{NV`W1cd`aS*E^)Bsqy@&o!=nFS;EB6p)_i$G306W~{(4IgayC<{LT}>akYv=>_ z40gNcvd2B2z3xR^;BH`_do>rj*R$a^xyZcP7k|*`tX)hqLADHy~^DU$l=d-c7BQ{!9FqI`+{w z7LK`|8vE#SBu3v9JR2AL?}`*%xsR?&(bWTop-&kG@-->C7H6%_J(bQqXOMw3w3K{Y zM#FdvjpcGG=L&pGIF9C_Uc%$?Iq2bZBI=WP0yfHI`V4HkNe%mqRzU=ORAP&81zHMY zL97(;Uzeim0Tc-!30XP;E>DjXr$?-m7=egW^etdkq%p=>Kwh#u6{iJpH5Kp_@?%Gr zaSe^*X;jVAX%^3*1w4})coug1Z0z(oU@ZjGA9udYV`AwgfDgh z;p-S{2A>YAxH01c%s|5OZDHuf>$N;cPtwgQj7~_=cb=hgK;yClel(F=Sa{coMQ_p; z-Q7nw!-lumR8w?oOZ7u^8`E`kdLP}6p*vPg$qeomQ0S-VyD7R;TC#YGz6VIi@1wi+ z(cSZ$rLgop=o1d$4Cil=Ue}aTSBmbHS$2PlzHd8;bQY%QKJkg&xU~51*X(&)5LzC% zA39ixkAL2wJ)LT~X3`V)gD2k9L?hTg>q{64SI4mF(IpHZXtbGphyUwld~dty)PHFX0ulRr^-2^ItbjOjG+o*)s(MUd?4&xJOD(YE$A}!_h)WToW z+>Rpk1(lN9!wwHSnLUUQ1g|Lr$M~Yk=J<6;AbUD|U~|s}r$v2~g30&#_oe8eYX8Fz zQJ*4!{zr8C(R4dSk6|nAwyu-@$L(zen-AGdS(6c+gn*egnYF*$u~j-~G@B5nlNRwN z1V$6)+l&CX1^YTm?Hs}0?xIZ`(*l-}^K)7WQ+U6S&7tM=5ZgwWgqT36E;zJ>yPU3$IaWxWzF z7x55#y+duKxGSsnk~gakQ5s%QfLlB`u4gdZ5*|7jUH4$P{=sowgW(Pv9M?G*?(o5J z9fRSH;E{vzi|h}U(`RZ{4~Gn{2OfZnGiDU#D}?PIquz`Mqq9-Vf4i)T+U$C*T?g%Y rrCm4Lb)8jX%CV$W;s3Z$g--rIjEuGV literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SalesPage.java b/src/com/inventory/UI/SalesPage.java index 25b8ab4..927927f 100644 --- a/src/com/inventory/UI/SalesPage.java +++ b/src/com/inventory/UI/SalesPage.java @@ -44,11 +44,55 @@ public SalesPage(String username, Dashboard dashboard) { */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents + + // Custom Rounded Panel for Card Effect + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + + // Custom Header Renderer + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { + setOpaque(true); + } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); - sellPanel = new javax.swing.JPanel(); + sellPanel = new RoundedPanel(20); // Use RoundedPanel jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); @@ -65,25 +109,47 @@ private void initComponents() { addCustButton = new javax.swing.JButton(); custNameLabel = new javax.swing.JLabel(); prodNameLabel = new javax.swing.JLabel(); + + // Wrap Table in Rounded Panel + javax.swing.JPanel tablePanel = new RoundedPanel(20); + tablePanel.setLayout(new java.awt.BorderLayout()); + tablePanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + jScrollPane1 = new javax.swing.JScrollPane(); salesTable = new javax.swing.JTable(); searchText = new javax.swing.JTextField(); jLabel7 = new javax.swing.JLabel(); + refreshButton = new javax.swing.JButton(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N - jLabel1.setText("SALES"); - - sellPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Sell Product")); - - jLabel2.setText("Customer Code:"); - - jLabel3.setText("Product Code:"); - - jLabel4.setText("Date:"); + setBackground(new java.awt.Color(220, 230, 250)); - jLabel5.setText("Selling Price:"); + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + jLabel1.setText("SALES"); - jLabel6.setText("Quantity:"); + sellPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20)); // Added padding + // sellPanel.setBackground(new java.awt.Color(255, 255, 255)); + + // Labels + java.awt.Font labelFont = new java.awt.Font("Segoe UI", 1, 12); + java.awt.Color labelColor = java.awt.Color.BLACK; + jLabel2.setFont(labelFont); jLabel2.setForeground(labelColor); jLabel2.setText("Customer Code"); + jLabel3.setFont(labelFont); jLabel3.setForeground(labelColor); jLabel3.setText("Product Code"); + jLabel4.setFont(labelFont); jLabel4.setForeground(labelColor); jLabel4.setText("Date"); + jLabel5.setFont(labelFont); jLabel5.setForeground(labelColor); jLabel5.setText("Selling Price"); + jLabel6.setFont(labelFont); jLabel6.setForeground(labelColor); jLabel6.setText("Quantity"); + + // Text Fields + java.awt.Font textFont = new java.awt.Font("Segoe UI", 0, 14); + javax.swing.border.Border textBorder = javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + ); + custCodeText.setFont(textFont); custCodeText.setBorder(textBorder); + prodCodeText.setFont(textFont); prodCodeText.setBorder(textBorder); + priceText.setFont(textFont); priceText.setBorder(textBorder); + quantityText.setFont(textFont); quantityText.setBorder(textBorder); + jDateChooser1.setFont(textFont); custCodeText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { @@ -97,32 +163,34 @@ public void keyReleased(java.awt.event.KeyEvent evt) { } }); - sellButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N - sellButton.setText("SELL PRODUCT"); - sellButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + // Buttons + styleButton(sellButton, "SELL PRODUCT", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + styleButton(deleteButton, "Delete", new java.awt.Color(220, 53, 69), java.awt.Color.BLACK); + styleButton(clearButton, "Clear", new java.awt.Color(240, 240, 240), java.awt.Color.BLACK); + sellButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sellButtonActionPerformed(evt); } }); - deleteButton.setText("Delete"); - deleteButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); deleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { deleteButtonActionPerformed(evt); } }); - clearButton.setText("Clear"); - clearButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); clearButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearButtonActionPerformed(evt); } }); - addCustButton.setText("Click to add a New Customer"); + addCustButton.setText("+ New Customer"); + addCustButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); + addCustButton.setForeground(new java.awt.Color(65, 105, 225)); + addCustButton.setContentAreaFilled(false); + addCustButton.setBorderPainted(false); addCustButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); addCustButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -147,70 +215,61 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(custNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(addCustButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(sellButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(custCodeText) + .addComponent(prodCodeText) + .addComponent(jDateChooser1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(priceText) + .addComponent(quantityText) .addGroup(sellPanelLayout.createSequentialGroup() - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(custCodeText)) - .addGroup(sellPanelLayout.createSequentialGroup() - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(prodCodeText)) + .addGroup(sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel2) + .addComponent(jLabel3) + .addComponent(jLabel4) + .addComponent(jLabel5) + .addComponent(jLabel6)) + .addGap(0, 0, Short.MAX_VALUE)) .addGroup(sellPanelLayout.createSequentialGroup() .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE)) - .addGroup(sellPanelLayout.createSequentialGroup() - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(quantityText)) - .addGroup(sellPanelLayout.createSequentialGroup() - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(priceText)) - .addGroup(sellPanelLayout.createSequentialGroup() - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jDateChooser1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE))) .addContainerGap()) ); sellPanelLayout.setVerticalGroup( sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(sellPanelLayout.createSequentialGroup() .addContainerGap() - .addGroup(sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(sellPanelLayout.createSequentialGroup() - .addGap(1, 1, 1) - .addComponent(custCodeText, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addComponent(jLabel2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(custCodeText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(custNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(addCustButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(prodCodeText, javax.swing.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)) + .addComponent(jLabel3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(prodCodeText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(prodNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE) - .addGroup(sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(priceText, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(quantityText, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(sellButton, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(priceText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel6) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(quantityText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(sellButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(sellPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(deleteButton) - .addComponent(clearButton)) - .addContainerGap()) + .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); salesTable.setModel(new javax.swing.table.DefaultTableModel( @@ -224,19 +283,45 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { "Title 1", "Title 2", "Title 3", "Title 4" } )); + salesTable.setRowHeight(40); + salesTable.setShowGrid(false); + salesTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + salesTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + salesTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); + salesTable.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); salesTable.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { salesTableMouseClicked(evt); } }); jScrollPane1.setViewportView(salesTable); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + // Add ScrollPane to TablePanel + tablePanel.add(jScrollPane1, java.awt.BorderLayout.CENTER); + + // Search Bar + styleButton(refreshButton, "Refresh", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + refreshButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + loadDataSet(); + clearButtonActionPerformed(evt); + } + }); + searchText.setFont(new java.awt.Font("Segoe UI", 0, 14)); + searchText.setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); searchText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { searchTextKeyReleased(evt); } }); + jLabel7.setFont(new java.awt.Font("Segoe UI", 1, 14)); jLabel7.setText("Search:"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); @@ -244,38 +329,48 @@ public void keyReleased(java.awt.event.KeyEvent evt) { layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel7) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(jSeparator1) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 457, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(layout.createSequentialGroup() + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, 457, Short.MAX_VALUE) + .addGap(20, 20, 20) .addComponent(sellPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel7)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel1) + .addComponent(jLabel7) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(sellPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addContainerGap(70, Short.MAX_VALUE)) + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(20, 20, 20)) ); - }// //GEN-END:initComponents + } + + private void styleButton(javax.swing.JButton btn, String text, java.awt.Color bg, java.awt.Color fg) { + btn.setText(text); + btn.setBackground(bg); + btn.setForeground(fg); + btn.setFont(new java.awt.Font("Segoe UI", 1, 12)); + btn.setFocusPainted(false); + btn.setBorderPainted(false); + btn.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + } private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteButtonActionPerformed if (salesTable.getSelectedRow()<0) @@ -289,9 +384,9 @@ private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN- if (opt == JOptionPane.YES_OPTION) { new ProductDAO().deleteSaleDAO(Integer.parseInt( salesTable.getValueAt(salesTable.getSelectedRow(),0).toString())); - new ProductDAO().editSoldStock( - salesTable.getValueAt(salesTable.getSelectedRow(),1).toString(), quantity); + // Stock update is now handled in DAO loadDataSet(); + dashboard.refreshDailySummary(); } } }//GEN-LAST:event_deleteButtonActionPerformed @@ -331,6 +426,7 @@ private void sellButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI productDTO.setQuantity(Integer.parseInt(quantityText.getText())); new ProductDAO().sellProductDAO(productDTO, username); loadDataSet(); + dashboard.refreshDailySummary(); } else JOptionPane.showMessageDialog(this, "This customer does not exist.\n" + "Add new customer or use a valid customer code."); @@ -393,6 +489,7 @@ public void loadDataSet() { try { ProductDAO productDAO = new ProductDAO(); salesTable.setModel(productDAO.buildTableModel(productDAO.getSalesInfo())); + TableStyler.styleTable(salesTable); } catch (SQLException e) { e.printStackTrace(); } @@ -403,6 +500,7 @@ public void loadSearchData(String text) { try { ProductDAO productDAO = new ProductDAO(); salesTable.setModel(productDAO.buildTableModel(productDAO.getSalesSearch(text))); + salesTable.getTableHeader().setDefaultRenderer(new HeaderRenderer()); } catch (SQLException e) { e.printStackTrace(); } @@ -432,5 +530,6 @@ public void loadSearchData(String text) { private javax.swing.JTextField searchText; private javax.swing.JButton sellButton; private javax.swing.JPanel sellPanel; + private javax.swing.JButton refreshButton; // End of variables declaration//GEN-END:variables } diff --git a/src/com/inventory/UI/StyleConstants.class b/src/com/inventory/UI/StyleConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..11a2be98359497fa997dbb605bad0919ac78d94a GIT binary patch literal 1717 zcmaJ?O>^5+6g@AFW5}c5lC-3X0_lnnwnj)9RaoSp!KkoZ#@d~n&0yWcLb(uhGtv( z`J`e&yH|GXx}`_+Qm%2|jf7IrG{ZWT({7eD zJKi8)lti1FSnu|`!Cisa%IcQDxaRM8y!me5vkv#$-oS0OdlX5ocY4FjRLwsebi7iR z<1@A3sOLp1KDfyTL%}-Uq9uLmCbrBa?Wl)@H*6QV#PE~_A0);VY-IE+)8*?Ih1peOv}+rQL-ZCyqXGskFju!D`z%Zm?6jbKVXVZ62B5@=*XZ>kzM4_qwxV| r@dYm6OFCm;V-An$#QlH;{DLd^jh@dRSQIgO5p(p43KXc`7>fS_$Ldg@ literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/StyleConstants.java b/src/com/inventory/UI/StyleConstants.java new file mode 100644 index 0000000..9282e1e --- /dev/null +++ b/src/com/inventory/UI/StyleConstants.java @@ -0,0 +1,39 @@ +package com.inventory.UI; + +import java.awt.Color; +import java.awt.Font; +import javax.swing.border.Border; +import javax.swing.BorderFactory; + +public class StyleConstants { + // Colors + public static final Color PRIMARY_COLOR = new Color(51, 102, 255); // Modern Blue + public static final Color SECONDARY_COLOR = new Color(45, 45, 48); // Dark Gray + public static final Color BACKGROUND_COLOR = new Color(30, 30, 30); // Dark Background + public static final Color TEXT_COLOR = new Color(230, 230, 230); // Light Text + public static final Color ACCENT_COLOR = new Color(0, 153, 204); // Cyan Accent + + // Table Colors + public static final Color TABLE_HEADER_BG = new Color(51, 102, 255); // Primary Blue + public static final Color TABLE_HEADER_FG = Color.WHITE; + public static final Color TABLE_ROW_EVEN = Color.WHITE; + public static final Color TABLE_ROW_ODD = new Color(248, 250, 255); + public static final Color TABLE_SELECTION_BG = new Color(200, 220, 255); + public static final Color TABLE_SELECTION_FG = new Color(0, 0, 0); + public static final Color TABLE_GRID_COLOR = new Color(220, 220, 220); + + // Fonts + public static final Font HEADER_FONT = new Font("Segoe UI", Font.BOLD, 24); + public static final Font SUBHEADER_FONT = new Font("Segoe UI", Font.PLAIN, 18); + public static final Font REGULAR_FONT = new Font("Segoe UI", Font.PLAIN, 14); + public static final Font BUTTON_FONT = new Font("Segoe UI", Font.BOLD, 14); + public static final Font TABLE_HEADER_FONT = new Font("Segoe UI", Font.BOLD, 13); + public static final Font TABLE_CELL_FONT = new Font("Segoe UI", Font.PLAIN, 12); + + // Dimensions & Borders + public static final int PADDING_SMALL = 5; + public static final int PADDING_MEDIUM = 10; + public static final int PADDING_LARGE = 20; + + public static final Border EMPTY_BORDER = BorderFactory.createEmptyBorder(PADDING_MEDIUM, PADDING_MEDIUM, PADDING_MEDIUM, PADDING_MEDIUM); +} diff --git a/src/com/inventory/UI/SupplierLogos/README.md b/src/com/inventory/UI/SupplierLogos/README.md new file mode 100644 index 0000000..4d78b61 --- /dev/null +++ b/src/com/inventory/UI/SupplierLogos/README.md @@ -0,0 +1,28 @@ +# Supplier Logos Directory + +Place your supplier logo images in this directory. + +## Supported Formats +- PNG (recommended for transparency) +- JPG/JPEG +- GIF + +## Naming Convention +Name your logo files clearly, for example: +- `dell.png` +- `hp.png` +- `samsung.png` +- `apple.png` +- `shelby.png` +- `iworld.png` + +## Recommended Image Size +- **Width**: 150-200 pixels +- **Height**: 100-150 pixels +- **Aspect Ratio**: Keep logos proportional +- **Background**: Transparent or white background works best + +## How It Works +The HomePage will automatically load all image files from this directory and display them in the "Our Trusted Suppliers" section. + +Simply add your logo images here and restart the application to see them appear! diff --git a/src/com/inventory/UI/SupplierLogos/apple.png b/src/com/inventory/UI/SupplierLogos/apple.png new file mode 100644 index 0000000000000000000000000000000000000000..29f536fb9e9e842147721277296f66eb98dc4a1e GIT binary patch literal 1391 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 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SupplierLogos/hp.png b/src/com/inventory/UI/SupplierLogos/hp.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b621848a136cf004fcf1b822b738b381e80810 GIT binary patch literal 119832 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

hg&>oy(_OgzZ`vrH!G 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

(fbY4T5b190 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%0AD=hjZ(wzH1Yq^0c)wwQ?no%>ts@;hw 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

=E^293E;{~FveexKXn^WEzG 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 literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SupplierLogos/shelby.png b/src/com/inventory/UI/SupplierLogos/shelby.png new file mode 100644 index 0000000000000000000000000000000000000000..977b1d80644451078e38ffd40888b9fbaffbd9f7 GIT binary patch literal 8751 zcmV+~BGBE5P)|=OTRRL zOvksPAl+}TZ2Cd{_3B@; zA>+8#JlXf^>X9M5q;e(I&#$#I{#S%mm;JuCsM}3@dBedeTZZ|{vs~A;yj319v+d0_ zl`ZbK*p-8U?#UjvKVcb4G$bm3AlotNJMM#luf}+ZYD+Grd1e!j_kllW?vsp8hvzeQLL0 z-AHG#8Zvg*WO$8(ldkbA!Q*ND!B!6^Q>aRWpX}OI+j+0U!+27g&V7R4MD%I-7s4!8 z2qV7Qtwk)qJ9>_nN7njoYmG=g>fplXsX#LKb4?#aCW&N${MeGeO>*xZBRVs#sVTSd zVR8>Xd}&G#_&kT;Hv3P9F=_SdTFPg2clZ)ivJ_Z6uyo1o!kvo^X<~PC_-N6GyZ!fB zBEgwKr|J@4?mHmKx!AI$%^Z%t<$@_W3-+wK10bfvWrhWZ8!*1{h_@kc|<59sX6>7nE)H#RRT+Ep@3Dl&msvhKQ(8bV!-vs zVzy=H*cQIQ#_jDKGo(xYfT)_;e+4-7)(QM6lqI`w{HB|Ni)PFLgIwSfOj7w6t z;RlHPG#It0(T#h=TVsNwZ^;3{Qo}%E*YhwE<{AHMiroG{M1_)4@IOpK`G>E_ zSz?4+-&wGcmSt`;e1YLeK^2!SHZ&;39TrJ~c3h0LogB}P5;Bjzl$PiL|!&H#B7X&e!!qsD$jbM9+9HBrV z6MquXcR;;JN&N&q9J2U9xbY=hgw>B7CypcMgbVi6XQ{5pxP7Cn@+rD~2N5#kv!jD} ze4Syn`<_eY5D>V$+ZE4}Ds_+;e5?Rmrbmn1nr==?9V`Ps5#Bw)$DIX-2|Ehhag;if z)oW-c^&q1ze#rFeQe}ui>){O?UKSO03Og+<+3K^QjPYMpdbEPWnylu-rq36*>rq5R z{fGmnL2tugEbdECO>@B@x8p4XpDU^<@UU`ZSfNNqi6~H9HK%3$q4#vqu<~Twck1nn@qgUucL_%h!X?z40d7QE zsw;Dbagb3@x@<07?!8riShuCr1lTc@HCyCtdG{rVsNmiq_`a9B0c{3(Ne2qVsDLqn z0k<0+Jisr;q?u6M$D4ZCYWRc}SG+HFM}-`hJA|A;FJ$uZuMz+Pz!gRU{hCpe%24Qx ziy-N2dfa$@MULqYnxJEJxeEiKQa0!v5h1m`I$oV)9HwdZKV)fyJZB++!kRYr{t}D z*FaQoUURPd&mey!

r&r)L@T74>oC!+tQsXsxXx%rE0z? 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 Z5l5O_W5{5Z&IEn8d909TXcKhO`Udsup>+TN literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SupplierPage$2.class b/src/com/inventory/UI/SupplierPage$2.class new file mode 100644 index 0000000000000000000000000000000000000000..6b245239586e9b977beeaa630ab6c4d2221e7d49 GIT binary patch literal 664 zcmah{TT22#6#ho7Z8tN!U(E;uGiWP%D}oS%z)G+p>SL4!NMZLaMYAxZkr)n_H^5o z>RzZw2aoRMiCgV4}E6%pL&pe^b|oiDfeJ$Ly-McwXbMFkQ^Jl`vld!7ix+|D+Q<8V-q`?n0MH1Q$O(7@7Z z(**hmG1@j9vW}9rMt5Uz3Y#xrg;&I$=tlLEBrlTJB*&2Y!LR?|?ZPwI<{RR_aHkjO chDdG^$2hshkj4a^3HokRm?zE9Cg`N~4gF!Ej{pDw literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SupplierPage$3.class b/src/com/inventory/UI/SupplierPage$3.class new file mode 100644 index 0000000000000000000000000000000000000000..c98f901c2c4205f1350acf1778bdd433af05e268 GIT binary patch literal 664 zcmah{TT22#6#ho7&CR@YznLNiX3$3URtO;mfnA`>bK^Sc$T}mtYthdNilT>pKtC!v zBSJld4$PS|XTEd3bD6L2k52#x$j1@Gyp0Jg*qFtlg(V9s7FHQ1!?p~Hy9~LytGkX= z4?>07e{yb4ovVJY=SksT@|HLx=#f-1tS}TxW3XGd46&+i3Wii&DskTLHiUo88=kRn zH1mZ^9K#sUZR$1Ixv*K?(NbzD&u-Qx@E}I#3w*Q152k( z6X+vEXvblbb(*vS-HpXAZ@+?--w=7G8`V#eyhz@WoI!Gk-yGuO2{J(hO~kPFg<%=Ao$o literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SupplierPage$4.class b/src/com/inventory/UI/SupplierPage$4.class new file mode 100644 index 0000000000000000000000000000000000000000..4d85467857aa0f58498e2c7019e2637873024d0b GIT binary patch literal 664 zcmah{TT22#6#m9bo12;4?-#x}HKMn5YkiXQp_{ix`S z2=x#;FlWx3`Of*yWxl>YJ^>W4mp}|lHsV;ev49l|s}|NRY%olPZ5d?p47)W~cO9t) zLWSCYa&D{6b-&m1r10y!C5i++l}d&shW+dW?BN|ltgM@YVXh{Xxa@Zu!oT4S&sew{ zO0DX`zt?_OG>JM}>+k`0_+#h@!|$98Ar+$+O)&df_kCBKOA}!JZ(hg7lY&;1>*+wM z)`bY$x@loEi7jj=VPQIngwb}eOI%~C%oG@sRi%Vq_IMD8fFV6h&Eu-&Ts1nv4H>ro z&9)|kP>?6RkL6%UnLd_vx2F{qNF34Zut@H@A_y`kc^XG)Qjf>C40|;3IA~~K>9lDA zeS`?@1Z=X-khV{EW3h8buVA@1M4stJ^^+tol9J>sQX~Aq2%pHkfE~Rf`U|&*fgXs& ZLlkr58bKQKbjIkrEnnhXPx{zVG%D9x*Hqlw%mt zb~RPlQ<8cixoqvLAJ_AE99K6t$o1X-tQ=?#R_IZ4^uDZA(#;ae&@7+`@{Lf1_WH!C zHy*(1kI3B7j$w$_JVoG@RvW|L{MB!Mv3?KMctZAvZhZ;8k@!2Z7@^b*Mp2?@(El`s MX+jps7!+xI0;#W=w*UYD literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/SupplierPage$6.class b/src/com/inventory/UI/SupplierPage$6.class new file mode 100644 index 0000000000000000000000000000000000000000..60942da2487dda3719bf5ec69cbf47b6c0ea8a34 GIT binary patch literal 626 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 N-pTemi68XI{{V//GEN-BEGIN:initComponents + + // Custom Rounded Panel for Card Effect + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + + // Custom Header Renderer + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { + setOpaque(true); + } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); - jPanel1 = new javax.swing.JPanel(); + jPanel1 = new RoundedPanel(20); // Use RoundedPanel jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); @@ -53,55 +97,75 @@ private void initComponents() { deleteButton = new javax.swing.JButton(); editButton = new javax.swing.JButton(); clearButton = new javax.swing.JButton(); + + // Wrap Table in Rounded Panel + javax.swing.JPanel tablePanel = new RoundedPanel(20); + tablePanel.setLayout(new java.awt.BorderLayout()); + tablePanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + jScrollPane1 = new javax.swing.JScrollPane(); suppTable = new javax.swing.JTable(); searchText = new javax.swing.JTextField(); jLabel8 = new javax.swing.JLabel(); + refreshButton = new javax.swing.JButton(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N - jLabel1.setText("SUPPLIERS"); - - jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Enter Supplier Details")); - - jLabel2.setText("Supplier Code:"); - - jLabel3.setText("Full Name:"); - - jLabel4.setText("Location:"); + setBackground(new java.awt.Color(220, 230, 250)); - jLabel5.setText("Contact:"); - - jLabel6.setText("Debit Amount:"); + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + jLabel1.setText("SUPPLIERS"); - jLabel7.setText("Credit Amount:"); + // jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Enter Supplier Details")); // Removed TitledBorder + jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20)); // Added padding + // jPanel1.setBackground(new java.awt.Color(255, 255, 255)); // Ensure white bg for the panel content if needed, though RoundedPanel handles it. + + // Labels + java.awt.Font labelFont = new java.awt.Font("Segoe UI", 1, 12); + java.awt.Color labelColor = java.awt.Color.BLACK; + jLabel2.setFont(labelFont); jLabel2.setForeground(labelColor); jLabel2.setText("Supplier Code"); + jLabel3.setFont(labelFont); jLabel3.setForeground(labelColor); jLabel3.setText("Full Name"); + jLabel4.setFont(labelFont); jLabel4.setForeground(labelColor); jLabel4.setText("Location"); + jLabel5.setFont(labelFont); jLabel5.setForeground(labelColor); jLabel5.setText("Contact"); + jLabel6.setFont(labelFont); jLabel6.setForeground(labelColor); jLabel6.setText("Debit Amount"); + jLabel7.setFont(labelFont); jLabel7.setForeground(labelColor); jLabel7.setText("Credit Amount"); + + // Text Fields + java.awt.Font textFont = new java.awt.Font("Segoe UI", 0, 14); + javax.swing.border.Border textBorder = javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + ); + codeText.setFont(textFont); codeText.setBorder(textBorder); + nameText.setFont(textFont); nameText.setBorder(textBorder); + locationText.setFont(textFont); locationText.setBorder(textBorder); + phoneText.setFont(textFont); phoneText.setBorder(textBorder); + debitText.setFont(textFont); debitText.setBorder(textBorder); + creditText.setFont(textFont); creditText.setBorder(textBorder); + + // Buttons + styleButton(addButton, "Add", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + styleButton(editButton, "Edit", new java.awt.Color(255, 193, 7), java.awt.Color.BLACK); + styleButton(deleteButton, "Delete", new java.awt.Color(220, 53, 69), java.awt.Color.BLACK); + styleButton(clearButton, "Clear", new java.awt.Color(240, 240, 240), java.awt.Color.BLACK); - addButton.setText("Add"); - addButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); addButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { addButtonActionPerformed(evt); } }); - deleteButton.setText("Delete"); - deleteButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); deleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { deleteButtonActionPerformed(evt); } }); - editButton.setText("Edit"); - editButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); editButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { editButtonActionPerformed(evt); } }); - clearButton.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N - clearButton.setText("CLEAR"); - clearButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); clearButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearButtonActionPerformed(evt); @@ -116,30 +180,21 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(codeText) + .addComponent(nameText) + .addComponent(locationText) + .addComponent(phoneText) + .addComponent(debitText) + .addComponent(creditText) .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(creditText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(codeText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(debitText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(phoneText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(locationText)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(nameText)) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel2) + .addComponent(jLabel3) + .addComponent(jLabel4) + .addComponent(jLabel5) + .addComponent(jLabel6) + .addComponent(jLabel7)) + .addGap(0, 0, Short.MAX_VALUE)) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -152,36 +207,36 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(codeText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(locationText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(phoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(locationText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(debitText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(phoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel6) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(creditText, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(18, 18, 18) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(addButton) - .addComponent(deleteButton) - .addComponent(editButton)) + .addComponent(debitText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel7) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(clearButton) + .addComponent(creditText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(20, 20, 20) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(editButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); @@ -196,6 +251,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { "Title 1", "Title 2", "Title 3", "Title 4" } )); + suppTable.setRowHeight(40); + suppTable.setShowGrid(false); + suppTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + suppTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + suppTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); suppTable.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); suppTable.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { @@ -203,13 +263,33 @@ public void mouseClicked(java.awt.event.MouseEvent evt) { } }); jScrollPane1.setViewportView(suppTable); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + // Add ScrollPane to TablePanel + tablePanel.add(jScrollPane1, java.awt.BorderLayout.CENTER); + + // Search Bar + styleButton(refreshButton, "Refresh", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + refreshButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + loadDataSet(); + clearButtonActionPerformed(evt); + } + }); + searchText.setFont(new java.awt.Font("Segoe UI", 0, 14)); + searchText.setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); searchText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { searchTextKeyReleased(evt); } }); + jLabel8.setFont(new java.awt.Font("Segoe UI", 1, 14)); jLabel8.setText("Search:"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); @@ -217,39 +297,49 @@ public void keyReleased(java.awt.event.KeyEvent evt) { layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSeparator1) .addGroup(layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel8) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 479, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(layout.createSequentialGroup() + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, 479, Short.MAX_VALUE) + .addGap(20, 20, 20) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel8)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel1) + .addComponent(jLabel8) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addContainerGap(31, Short.MAX_VALUE)) + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(20, 20, 20)) ); }// //GEN-END:initComponents + private void styleButton(javax.swing.JButton btn, String text, java.awt.Color bg, java.awt.Color fg) { + btn.setText(text); + btn.setBackground(bg); + btn.setForeground(fg); + btn.setFont(new java.awt.Font("Segoe UI", 1, 12)); + btn.setFocusPainted(false); + btn.setBorderPainted(false); + btn.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + } + private void suppTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_suppTableMouseClicked int row = suppTable.getSelectedRow(); int col = suppTable.getColumnCount(); @@ -331,7 +421,8 @@ private void searchTextKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:eve public void loadDataSet() { try { SupplierDAO supplierDAO = new SupplierDAO(); - suppTable.setModel(supplierDAO.buildTableModel(supplierDAO.getQueryResult())); + suppTable.setModel(supplierDAO.buildTableModel(supplierDAO.getQueryResult())); + TableStyler.styleTable(suppTable); } catch (SQLException e) { e.printStackTrace(); } @@ -342,6 +433,7 @@ public void loadSearchData(String text) { try { SupplierDAO supplierDAO = new SupplierDAO(); suppTable.setModel(supplierDAO.buildTableModel(supplierDAO.getSearchResult(text))); + suppTable.getTableHeader().setDefaultRenderer(new HeaderRenderer()); } catch (SQLException e) { e.printStackTrace(); } @@ -371,5 +463,6 @@ public void loadSearchData(String text) { private javax.swing.JTextField phoneText; private javax.swing.JTextField searchText; private javax.swing.JTable suppTable; + private javax.swing.JButton refreshButton; // End of variables declaration//GEN-END:variables } diff --git a/src/com/inventory/UI/TableStyler$1.class b/src/com/inventory/UI/TableStyler$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7ee7ceeaf68e18202045a6828fa8ab43bd8f7bb6 GIT binary patch literal 1185 zcmaJ>T~pIg5Iq-~rVZgkphA^`C}>-dfQSl3g_c&Ug*p^*h8HGnuUJfzPLhKB6!`POvsp&F~#6tte6$|5kq@4w#nd2S!K@9ovWC9tzIp1dqXc8 zghY0@>zOHT80*|DbDP^Kt6H;6Zn_Lh(cG@Sr@zyj{ffDxJ@b4M9;O*OA^GAiFS&`W zt!y^dfc1S>`x7C-&{=Tx(%V(N=IxcCF(?JAZkKqbB1-7-@Pd0_aC=H5qdL=O$*>&C zxXRr(R$0chiW%Hd(TyGzedw1ls}fUl6i&rG+*k2HEap`#U`|CsAdA9!h&hJdmNVq^ zA~$3_Qt=o|DwdIC7%o{=tzz!cp)LDBdzsamsv4VNP_w2<%ow`kaEBq@9MKhAYAgJ; zUNsb6h8s`NCwqU z((i#|Bxxi`3fE)E2#_wvCnh5yUq}l1Ptdj?M-CAUNmA_)U19kX+K=HoLWeLVGKKcj z)+6)@GjIw82@1>Kp}a?bSpEhj&?DZ@=s1QNmOoIQHm{N?bdVjRk|(H^NnF8gj6)+i zLpNg$pHo@GdLND*!%t7 z{*{)8fmPS)Lm&I2y1Mt71QKzPhkf?!voGJio&5XXUw;F*g5RU)!{rX*UXS7pTxIem zlWQz{i@7o8t~2*Gb2pf~spD1@0^|HK!6eCdlToB_mAN!?8Rn*#Gnh;>xy>Z2;~gC{ zQJltQHlB^*Wz6Y#H;MtwN0CFG$sHzlS$2=fdmUK7{U{zFqvL%I!f+hvC2g}(krfSX z*Dc5LZ)j+VUAU_ul5|T_!?CR8$eHzWL3(+!V3Q+;y)g(-w#CR3VgGZAXYxD-yJbqdj!#Wdb!+as z2E8JEzNhQ3%c`)-f@ea|^}Ji1lGgGH=|o}%OAnJYx8hbao>gMueHM0x5Hj<|hRUIv+!>B9X-sW9w`LY;8>pQPcy^~tZO74N>8mN2l4ePI z8iryQnl`}aWvlH|s6*)<4>OrcjZdcLYn>Tr9GU%AyUnZ_aqdS5Y-7r`cGun3G#b-v zC%E^llE0!}2ZMS+F6KPBBt4I|+j>Ha*+Zgv>3Wn7B|mQ4ZdGzUNjxc+%ypY?9lGRf zuhj~p_C&ovW6#N66(~sstsAP+H5N7Lme*W|7E9gqHI`yRAxWD>UOECCK1ckTg*O^T z8@dxti_zSJf^v}v^|}0^k5qZh->f@1M*~13(1iY3yPnWafu$L%n?4BR*LSGd>Hvq& z4c6?Oz;Z`a5cIs+W1qboo+9X$a~ zjIi2BfRmjurP@2v65v$4tM4gJFKpw50R4NoZr~Up=!T9S9Ki{6;UuNii?cYT61;+b zT%)9J(f@1)gP5V4MM}PeVLZZ3$|r$WYxxu?OU`FBzJoJQF|a@-7-WoXksX|Eq2CV9 z?O-Utd4e~*g%<<7H1Y>ogf$vMJMkGrU=WsR!g8CiWC_7EhA8qy%#r^~q;m+bAx3AE KEKk!3wEqtjWklov literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/TableStyler.java b/src/com/inventory/UI/TableStyler.java new file mode 100644 index 0000000..317c55e --- /dev/null +++ b/src/com/inventory/UI/TableStyler.java @@ -0,0 +1,98 @@ +package com.inventory.UI; + +import javax.swing.*; +import javax.swing.table.DefaultTableCellRenderer; +import javax.swing.table.JTableHeader; +import java.awt.*; + +/** + * Utility class to apply modern styling to JTables + */ +public class TableStyler { + + /** + * Apply modern styling to a JTable + * @param table The JTable to style + */ + public static void styleTable(JTable table) { + // Table general settings + table.setFont(StyleConstants.TABLE_CELL_FONT); + table.setRowHeight(35); + table.setShowGrid(true); + table.setGridColor(StyleConstants.TABLE_GRID_COLOR); + table.setSelectionBackground(StyleConstants.TABLE_SELECTION_BG); + table.setSelectionForeground(StyleConstants.TABLE_SELECTION_FG); + table.setIntercellSpacing(new Dimension(1, 1)); + + // Header styling - using custom renderer to ensure blue background shows + JTableHeader header = table.getTableHeader(); + header.setPreferredSize(new Dimension(header.getWidth(), 40)); + header.setReorderingAllowed(false); + + // Custom header renderer to force blue background + header.setDefaultRenderer(new javax.swing.table.DefaultTableCellRenderer() { + @Override + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setOpaque(true); + setBackground(new Color(200, 220, 255)); // Light blue + setForeground(Color.BLACK); + setFont(new Font("Segoe UI", Font.BOLD, 12)); + setHorizontalAlignment(CENTER); + setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createMatteBorder(0, 0, 1, 1, new Color(200, 200, 200)), + BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + }); + + // Custom cell renderer for alternating row colors + table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() { + @Override + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + + Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + + if (!isSelected) { + if (row % 2 == 0) { + c.setBackground(StyleConstants.TABLE_ROW_EVEN); + } else { + c.setBackground(StyleConstants.TABLE_ROW_ODD); + } + c.setForeground(Color.BLACK); + } else { + c.setBackground(StyleConstants.TABLE_SELECTION_BG); + c.setForeground(StyleConstants.TABLE_SELECTION_FG); + } + + // Add padding + if (c instanceof JLabel) { + ((JLabel) c).setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10)); + } + + return c; + } + }); + } + + /** + * Wrap a JTable in a styled JScrollPane + * @param table The JTable to wrap + * @return Styled JScrollPane containing the table + */ + public static JScrollPane createStyledScrollPane(JTable table) { + styleTable(table); + + JScrollPane scrollPane = new JScrollPane(table); + scrollPane.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(StyleConstants.TABLE_GRID_COLOR, 1), + BorderFactory.createEmptyBorder(0, 0, 0, 0) + )); + scrollPane.getViewport().setBackground(Color.WHITE); + + return scrollPane; + } +} diff --git a/src/com/inventory/UI/UserLogsPage$1.class b/src/com/inventory/UI/UserLogsPage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7745810ab01a78ff514555c4d87f884968f4369c GIT binary patch literal 664 zcmah{+e!m55It$DYu8%q{jQ}{s4ch(zImrq5Y`K5eNVTsjkJkuwu+x6D2fk$fFC7J zN0@y(|i3Fxy3}ME_BxW7VIaqM8$S@o=rO9tGtoea%ds00J z73uKFtDbsQBSK#{%q4G#U4rgOC8Gm|Twwrq+oLZn5+VR(wP3nQl}+N%A7OPjU?D9)7)tPZnRmO7DpO!rgA5Ln1js Y9OL8~Lk1IcCg{6OVV*Qgo1l}{54upGd;kCd literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/UserLogsPage$2.class b/src/com/inventory/UI/UserLogsPage$2.class new file mode 100644 index 0000000000000000000000000000000000000000..59a2ae52cc5e3776971d96599955dcf3b9a9a3f7 GIT binary patch literal 626 zcmah{+e!m56r8lRmvwFH{aTe$p;mBJe5(jjDu`9Y+k3h_)YUdAn^oy&35w!_AK*uc zCn6{aHIST1m@}K1?EA;-8-Q&rW{|+RgCR^f7{z1?Qz^^{B%`aqlr{vG8ous&fx06V z>9Frz9C#Oo!iH{}6WOLJQ+EOtM7sjT@;}_wOMyg9w@4t@2oxRPcAFHQ%Vvj9hHt2U zN*$7hS^^8@#(-xpf9ZLD8cen*=?wT~#e z(ybI`UCd$LMG`3&X^R$6V1EPcm9_-j1Enaeb)+$51ZMxeepr#uTceC(Jk!X4GhtJbQmT91Ow#x}Oz)z)gYT3fBC)q1rawVtiNANrs9HrXqHG5PJxn>TOX zHSfKd`5rlQ|APQl;olx~BBq+S2isvQXhb!K4IJ^H0CphBjhj4}i`OaEuXp1Os(+(_HyL=dfwvfV zs~c}~<7PMB?#4SjSb%pb?(b6a-tESF6n8Fruj;w%77uFiJ~g=2!23O@SA%kVz>V7s ze9(i{_>i*Y!-cpVA5p_QJoqR+rl5~|a3}6E@Ck+aq#Asx5O?F#3i^y{KC7C~so8rJ zbW$xkr5Jr)4ewRMQ3DANwkWS{!I)~kVBkIvI&i;%aRXlzFxwEXn#@wki&7=wPR zPloFSX88xL!`9Kd_>oX#pl*vsH%t<&!=nh8*x~;yj%#p9Lq$rNb{V^FouyMq;qY;7fOlA(6be_1hV!;F5@~E97 zQ6XDHGTcwPg0-PY$X+jySG8=1Kz>uSpTbN1p@{4l8S0aZ(HK`hiJz(F=LViJ@hd!Q;@9|%YJO|tclf=D=kQ0> z{K>?h@q&rJC;_MOqKUua1s1qWo0}WA=}cm8;&1r7iGSdqEDKs}{7|?qu-)HsG$@Bv zhMV}8isK72S!Cs6c0j7a$~~`0mIS@O&So~WwW(TS#HH;-m@lntD2y&OYTBuP&ic>AUl;k@?^2jiKulkfBsxmfBR8mcQ@%ieC zl3!-^_dC_eABx+Orf|tF9-Dbu8&B4@Eo!yu$Vw$t`Z02Ni1A zOR)w6FENkP&2S^(1%1K{$hOMA*xk}BuslQib2Fm{m0vn}r;)Lk z?ALzj&5XG7a5$H{vTYUEIW692--uk!1++t}Ut4v~EzDi%Rx8yhW#DCj8Oc1{oT+Jg z-f4Im!N2AIXO*k1kM(PFG!{C}Q(`iWl4W$Nij!1U)&Gr+ffj#TM~lFv^wD&j>s4og zjM<^!q{xy1X-`}Md4%#_l}y|^b#`{iIBz}ysctu=eIuc8f9iD6*H9JkS(KRyIcHMN z6-x0N=6%T4_vY>xvm)!lkruB!u+tMOXAiN6Z@2AyrW$am>nI_Yx&i8*H%#60BC31d zD|OFHr0#iLWN$#I%P!kKj_TP9_Qlm>$m1`+I)ND{i4X{~^&y{aIosKAqk>P)ITXli zva>v|8y=3~+EqP{g5EJ0qi_=}B=Y#a-EjR&x>H;?V2-aHZL&F60he+44I z!PMv(Q=4x%n!|+qZqJim_JA#yYVCO=1<=#5!yht?-MjXcwL65IeC=>_Mm4i|s<9OT-Zn zNBEq&2|eOw>=3u{$#w^JiF^36yAQj?Lwu+`%=t%2`xvegk8|x4C#zN1u2RLGcp$T{9qECic5Z5p>PRfNKHzTuX4kwGtuM6&Q52;-ISoVb^x-b9G~{ zYbPSiD85Ub4C99(mEz3Dlq(8!#vUS?FV`g5BKC@GMrQu%?1aty9U%cA}38#}7CzT@mK->lARD)!-W9ujkCQxB%Dj zv(yO;a)yOzw}FHCUN^!RN{YLPiva4cwHn{sFqfaHR^x}{dMEpzu)iC>z%Pk^p5s5{i~j//GEN-BEGIN:initComponents + + // Custom Rounded Panel for Card Effect + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + + // Custom Header Renderer + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { + setOpaque(true); + } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); + + // Wrap table in rounded card + javax.swing.JPanel tableCard = new RoundedPanel(20); jScrollPane1 = new javax.swing.JScrollPane(); logTable = new javax.swing.JTable(); + refreshButton = new javax.swing.JButton(); searchText = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N - jLabel1.setText("USER LOGS"); + setBackground(new java.awt.Color(220, 230, 250)); // Darker Blue BG + + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + jLabel1.setText("User Logs"); logTable.setModel(new javax.swing.table.DefaultTableModel( - new Object [][] { - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null}, - {null, null, null, null} - }, - new String [] { - "Title 1", "Title 2", "Title 3", "Title 4" - } + new Object [][] {}, + new String [] { "User", "Activity", "Date", "Time" } )); + logTable.setRowHeight(40); + logTable.setShowGrid(false); + logTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + logTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + logTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); + jScrollPane1.setViewportView(logTable); - - refreshButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N - refreshButton.setText("REFRESH"); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + // Add table to card + tableCard.setLayout(new java.awt.BorderLayout()); + tableCard.add(jScrollPane1, java.awt.BorderLayout.CENTER); + tableCard.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + + refreshButton.setText("Refresh"); + refreshButton.setBackground(new java.awt.Color(65, 105, 225)); + refreshButton.setForeground(java.awt.Color.BLACK); + refreshButton.setFont(new java.awt.Font("Segoe UI", 1, 12)); + refreshButton.setFocusPainted(false); + refreshButton.setBorderPainted(false); + refreshButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); refreshButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { refreshButtonActionPerformed(evt); } }); + searchText.setFont(new java.awt.Font("Segoe UI", 0, 14)); + searchText.setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); searchText.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { searchTextKeyReleased(evt); } }); + jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 14)); jLabel2.setText("Search:"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSeparator1) .addGroup(layout.createSequentialGroup() - .addContainerGap() + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 672, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) + .addComponent(jLabel2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(tableCard, javax.swing.GroupLayout.DEFAULT_SIZE, 860, Short.MAX_VALUE)) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(refreshButton) - .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel2)) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 407, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(26, Short.MAX_VALUE)) + .addGap(20, 20, 20) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addComponent(jLabel1) + .addComponent(jLabel2) + .addComponent(searchText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) + .addComponent(tableCard, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE) + .addGap(20, 20, 20)) ); }// //GEN-END:initComponents @@ -121,6 +185,7 @@ public void loadDataSet() { try { UserDAO userDAO = new UserDAO(); logTable.setModel(userDAO.buildTableModel(userDAO.getUserLogsDAO())); + logTable.getTableHeader().setDefaultRenderer(new HeaderRenderer()); } catch (SQLException e) { e.printStackTrace(); } diff --git a/src/com/inventory/UI/UsersPage$1.class b/src/com/inventory/UI/UsersPage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..722802de14b7da58ffb33b7fe6a062c680b2ff74 GIT binary patch literal 646 zcmaJ<+e!m55IyO|wQJRS*V?LxLT$mV;9EtIQlYS3z{`8OjWyCHve{PrEJ0Cx@B{oP zak5l>Q5SYH8P3d^Gn4m^*EayWSj!-VSr=){xtPYhg9Qgm4)P2m(X})iRfd8e=$6imkg=8ZVQGRp&@V z*ShUsIg0{{SvVNYB4fQ3tdhFF#ck{`WSdHfu-@gy2*Z$zo9c4a@lIMdB8V7@zxL@% z6A8*>$p1}1ecRd9b?;Uy(nSQxQml;!fiN`vD$T$4?_B*~>A%K=HQH|)v?Z`y&T6N% zC+N?>rRW%W>vXpfw_JGwD?cOgKsQoOma@qDWXCZv#BUDqnero8E+?Q>7x6RGT=&w~9m>5=qen^?7?;wbJg&?IC`agb*M606$91 zUc7u!m)z{^Nf!f{axso+2Qv=l9OM`Vqf2Ru>kRpNpnJYl zw?aiay!X!z{4*m$)8HLZCET`DGTLD%l>P&*HW^Yi-4+a^b*aSBO|K=wQ{L*@2oEBu zRYQaqI_!ydTG%x93tLIw_oGDur*5d~7$UtDpMA#c4ZX|4IKnCM?l@2S8f_^E|7a z)}Ek04VR+B#kMn{cc4n)C#VsZxumG1)*xe%abVSHnx#AkIxO<@XkNo_fL%oO_eu9k#O5m$!LcmoBt2Ea>kG<>AGMTsz@acJMEeXPk60mBRq(t zR#g#R>98&8aj|ROJ`D$bX}H!~K$g_~EiSjoklt5HgrycYMi_=n+*FIJhJRGM7D2=?|7)KW zX(BK_HCDZLHJ$i~r8G@+lr@338hNOYG%0FgA*p@ZZig~tJ8O2fsQ<|q z5*iXh`~m(b!r4lA65}R!@65et&YW}S_s!KW06SQnf{g_iMJ(p4B?rq6Rs@_V)O&rE z2^6|t1WMV7GV5;ys;wv)21=hvoh9jy;IJ7S8kw3;;Xu}jd#kj{-U;m2{sruITc_b! z7{s9-1Rr~+GRo?IDQz4H*o~ww1dbrXk}v7x|}9tTme()argt zMrkDX)dY2~ZY#f$M0+}l6QlItKxQXN-@!8vRXq3b2vZ(hyzo$hL#GcLUEdM#np(@W z5r@V|Be0gUe-F$z5(g7O!Fzcej^b=0_kbp1ft80jb3+_mBN={8G>1!0tCkPIul@J5 z@RCnhd DW8auS literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/UsersPage$5.class b/src/com/inventory/UI/UsersPage$5.class new file mode 100644 index 0000000000000000000000000000000000000000..1fac683ec4392caf5b1e55f957dc1dd207d863b0 GIT binary patch literal 615 zcmaJ<%Sr<=6g}x{+HutS*47tNp;mAT>c)y7r9z<-zFa z$Vi1Z?rGgU)gshKye%rk+x4X%?J+DB2NBoK7!p<05)7jaUy8$i_gsW0{5+r?r>pu} zR0H3;6fK6uV&j5eahG35t}w^CP4mBIV8sa8$EqKC;=nh_BR|z_m@Lw-NiR^^m+hvA zI;v%1&Or`&2Ps$%(gw|AfjaxYvBEZ0RhLqP)qra)G(-Ncn)X|~7m1J|_rDgEXe_F# zZcj;SfwbbquQs^n39Sp8WwLo^pnU@k!7^Q8l5Ue_v!+KvG5XTTfV?8KLTj^Qm)7sW zN)L$L(u!e-<`hNXg=PoC-~82Yex`H>w*H9tFWvqUdL{8U#4$ptF^nQhF+s0q95aM$ Jl1Wgc@d<4Ak^lez literal 0 HcmV?d00001 diff --git a/src/com/inventory/UI/UsersPage.class b/src/com/inventory/UI/UsersPage.class new file mode 100644 index 0000000000000000000000000000000000000000..a52ea2d5c318bba69dfd51c183ff6e6d3380765b GIT binary patch literal 9939 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//GEN-BEGIN:initComponents + // Custom Rounded Panel for Card Effect + class RoundedPanel extends javax.swing.JPanel { + private int radius = 15; + private java.awt.Color backgroundColor = java.awt.Color.WHITE; + + public RoundedPanel(int radius) { + this.radius = radius; + setOpaque(false); + } + + @Override + protected void paintComponent(java.awt.Graphics g) { + super.paintComponent(g); + java.awt.Graphics2D g2 = (java.awt.Graphics2D) g; + g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING, java.awt.RenderingHints.VALUE_ANTIALIAS_ON); + + g2.setColor(new java.awt.Color(200, 200, 200)); + g2.fillRoundRect(2, 2, getWidth() - 4, getHeight() - 4, radius, radius); + + g2.setColor(backgroundColor); + g2.fillRoundRect(0, 0, getWidth() - 4, getHeight() - 4, radius, radius); + } + } + + // Custom Header Renderer + class HeaderRenderer extends javax.swing.table.DefaultTableCellRenderer { + public HeaderRenderer() { + setOpaque(true); + } + @Override + public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setBackground(new java.awt.Color(200, 220, 255)); + setForeground(java.awt.Color.BLACK); + setFont(new java.awt.Font("Segoe UI", 1, 12)); + setBorder(javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createMatteBorder(0, 0, 1, 1, new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10) + )); + return this; + } + } + private void initComponents() { jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); - entryPanel = new javax.swing.JPanel(); + entryPanel = new RoundedPanel(20); // Use RoundedPanel jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); @@ -51,44 +94,65 @@ private void initComponents() { addButton = new javax.swing.JButton(); deleteButton = new javax.swing.JButton(); clearButton = new javax.swing.JButton(); + + // Wrap Table in Rounded Panel + javax.swing.JPanel tablePanel = new RoundedPanel(20); + tablePanel.setLayout(new java.awt.BorderLayout()); + tablePanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + jScrollPane1 = new javax.swing.JScrollPane(); userTable = new javax.swing.JTable(); - jLabel1.setFont(new java.awt.Font("Impact", 0, 24)); // NOI18N - jLabel1.setText("USERS"); + setBackground(new java.awt.Color(220, 230, 250)); - entryPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Enter User Details")); - - jLabel2.setText("Full Name:"); - - jLabel3.setText("Location:"); + jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N + jLabel1.setForeground(new java.awt.Color(50, 50, 50)); + jLabel1.setText("USERS"); - jLabel4.setText("Contact:"); + entryPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20)); // Added padding + // entryPanel.setBackground(new java.awt.Color(255, 255, 255)); - jLabel5.setText("Username:"); + // Labels + java.awt.Font labelFont = new java.awt.Font("Segoe UI", 1, 12); + java.awt.Color labelColor = java.awt.Color.BLACK; + jLabel2.setFont(labelFont); jLabel2.setForeground(labelColor); jLabel2.setText("Full Name"); + jLabel3.setFont(labelFont); jLabel3.setForeground(labelColor); jLabel3.setText("Location"); + jLabel4.setFont(labelFont); jLabel4.setForeground(labelColor); jLabel4.setText("Contact"); + jLabel5.setFont(labelFont); jLabel5.setForeground(labelColor); jLabel5.setText("Username"); + jLabel6.setFont(labelFont); jLabel6.setForeground(labelColor); jLabel6.setText("Password"); - jLabel6.setText("Password:"); + // Text Fields + java.awt.Font textFont = new java.awt.Font("Segoe UI", 0, 14); + javax.swing.border.Border textBorder = javax.swing.BorderFactory.createCompoundBorder( + javax.swing.BorderFactory.createLineBorder(new java.awt.Color(200, 200, 200)), + javax.swing.BorderFactory.createEmptyBorder(5, 10, 5, 10) + ); + nameText.setFont(textFont); nameText.setBorder(textBorder); + locationText.setFont(textFont); locationText.setBorder(textBorder); + phoneText.setFont(textFont); phoneText.setBorder(textBorder); + usernameText.setFont(textFont); usernameText.setBorder(textBorder); + passText.setFont(textFont); passText.setBorder(textBorder); userTypeCombo.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "ADMINISTRATOR", "EMPLOYEE" })); + userTypeCombo.setFont(new java.awt.Font("Segoe UI", 0, 14)); + + // Buttons + styleButton(addButton, "Add", new java.awt.Color(65, 105, 225), java.awt.Color.BLACK); + styleButton(deleteButton, "Delete", new java.awt.Color(220, 53, 69), java.awt.Color.BLACK); + styleButton(clearButton, "Clear", new java.awt.Color(240, 240, 240), java.awt.Color.BLACK); - addButton.setText("Add"); - addButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); addButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { addButtonActionPerformed(evt); } }); - deleteButton.setText("Delete"); - deleteButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); deleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { deleteButtonActionPerformed(evt); } }); - clearButton.setText("Clear"); - clearButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); clearButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearButtonActionPerformed(evt); @@ -103,65 +167,57 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addContainerGap() .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(userTypeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(nameText) + .addComponent(locationText) + .addComponent(phoneText) + .addComponent(usernameText) + .addComponent(passText) .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(nameText)) + .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel2) + .addComponent(jLabel3) + .addComponent(jLabel4) + .addComponent(jLabel6) + .addComponent(jLabel5)) + .addGap(0, 0, Short.MAX_VALUE)) .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(locationText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(phoneText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(passText)) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(usernameText))) + .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, 75, Short.MAX_VALUE))) .addContainerGap()) - .addGroup(entryPanelLayout.createSequentialGroup() - .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) ); entryPanelLayout.setVerticalGroup( entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(entryPanelLayout.createSequentialGroup() .addContainerGap() - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(locationText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(nameText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(phoneText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(locationText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(usernameText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(phoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel5) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(usernameText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel6) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(passText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(passText, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(userTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(userTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(addButton) - .addComponent(deleteButton) - .addComponent(clearButton)) + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(clearButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); @@ -186,47 +242,63 @@ public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); + userTable.setRowHeight(40); + userTable.setShowGrid(false); + userTable.setIntercellSpacing(new java.awt.Dimension(0, 0)); + userTable.setSelectionBackground(new java.awt.Color(232, 240, 254)); + userTable.setSelectionForeground(new java.awt.Color(0, 0, 0)); userTable.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); userTable.setName("Users"); // NOI18N - userTable.setShowGrid(true); userTable.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { userTableMouseClicked(evt); } }); jScrollPane1.setViewportView(userTable); + jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder()); + jScrollPane1.getViewport().setBackground(java.awt.Color.WHITE); + + // Add ScrollPane to TablePanel + tablePanel.add(jScrollPane1, java.awt.BorderLayout.CENTER); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSeparator1) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 432, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(entryPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE))) - .addContainerGap()) + .addComponent(jLabel1) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, 432, Short.MAX_VALUE) // Use tablePanel + .addGap(20, 20, 20) + .addComponent(entryPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(20, 20, 20)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGap(20, 20, 20) + .addComponent(jLabel1) + .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(entryPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addGap(95, 95, 95)) + .addComponent(tablePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(20, 20, 20)) ); - }// //GEN-END:initComponents + } + + private void styleButton(javax.swing.JButton btn, String text, java.awt.Color bg, java.awt.Color fg) { + btn.setText(text); + btn.setBackground(bg); + btn.setForeground(fg); + btn.setFont(new java.awt.Font("Segoe UI", 1, 12)); + btn.setFocusPainted(false); + btn.setBorderPainted(false); + btn.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); + } private void clearButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearButtonActionPerformed nameText.setText(""); @@ -294,6 +366,7 @@ public void loadDataSet() { try { UserDAO userDAO = new UserDAO(); userTable.setModel(userDAO.buildTableModel(userDAO.getQueryResult())); + TableStyler.styleTable(userTable); } catch (SQLException ex) { ex.printStackTrace(); }