From be52882bbb76c2bbb70448dc2cf54aef2e9c6fa1 Mon Sep 17 00:00:00 2001 From: lethanhdat <91755733+ldss13@users.noreply.github.com> Date: Thu, 9 Jan 2025 23:57:14 -0600 Subject: [PATCH] [add] invoice med content, test side bar animation --- medical_invoice.pdf | Bin 12010 -> 27912 bytes .../client/ui/assets/font/SVN-Arial Bold.ttf | Bin 0 -> 69252 bytes .../ui/assets/font/SVN-Arial Regular.ttf | Bin 0 -> 68692 bytes .../ui/component/CheckUpPage/CheckUpPage.java | 2 + .../PrintDialog/MedicalInvoiceWithGUI.java | 67 ++++++++-- .../CheckUpPage/SidebarAnimationDemo.java | 122 ++++++++++++++++++ 6 files changed, 179 insertions(+), 12 deletions(-) create mode 100644 src/main/java/BsK/client/ui/assets/font/SVN-Arial Bold.ttf create mode 100644 src/main/java/BsK/client/ui/assets/font/SVN-Arial Regular.ttf create mode 100644 src/main/java/BsK/client/ui/component/CheckUpPage/SidebarAnimationDemo.java diff --git a/medical_invoice.pdf b/medical_invoice.pdf index 29a5c5660997ac5bc4d2c37bfc46adc1ca347a31..74b800865847da7fd7c0b621b47d29df27e63147 100644 GIT binary patch delta 16811 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 TMo3@|=*NLXNhu;HiuC^hZcX3l delta 909 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
    Gb4+X5Wt~(`_AC1xaU&%+b2~5Qv-ur- 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 LX&Nvq4ded-g~G~v literal 0 HcmV?d00001 diff --git a/src/main/java/BsK/client/ui/assets/font/SVN-Arial Regular.ttf b/src/main/java/BsK/client/ui/assets/font/SVN-Arial Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c2fb14a11a20cf149412eeba810047e4165b235c GIT binary patch literal 68692 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

    mf?lv2^dXhi5+6ZSRcny{~T#dG-BGmu|VM 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 literal 0 HcmV?d00001 diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java b/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java index 57ee088..0cf2cac 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/CheckUpPage.java @@ -130,6 +130,8 @@ public class CheckUpPage extends JPanel { sidebar.add(label); } + + // Make the sidebar scrollable JScrollPane sidebarScrollPane = new JScrollPane(sidebar); sidebarScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/MedicalInvoiceWithGUI.java b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/MedicalInvoiceWithGUI.java index 582abde..7e6cdb0 100644 --- a/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/MedicalInvoiceWithGUI.java +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/PrintDialog/MedicalInvoiceWithGUI.java @@ -2,9 +2,12 @@ package BsK.client.ui.component.CheckUpPage.PrintDialog; import com.itextpdf.io.image.ImageData; import com.itextpdf.io.image.ImageDataFactory; +import com.itextpdf.kernel.font.PdfFont; +import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; +import com.itextpdf.layout.borders.Border; import com.itextpdf.layout.element.*; import com.itextpdf.layout.element.Image; import com.itextpdf.layout.property.UnitValue; @@ -108,22 +111,64 @@ public class MedicalInvoiceWithGUI { PdfDocument pdfDoc = new PdfDocument(writer); Document document = new Document(pdfDoc); + + String boldFontPath = "src/main/java/BsK/client/ui/assets/font/SVN-Arial Bold.ttf"; // Update with your font path + PdfFont boldFont = PdfFontFactory.createFont(boldFontPath, "Identity-H", true); + + String fontPath = "src/main/java/BsK/client/ui/assets/font/SVN-Arial Regular.ttf"; // Update with your font path + PdfFont font = PdfFontFactory.createFont(fontPath, "Identity-H", true); + // Add logo String logoPath = "/Users/lethanhdat/Documents/GitHub/ldS_BsK/src/main/java/BsK/client/ui/assets/icon/add.png"; // Path to your logo ImageData imageData = ImageDataFactory.create(logoPath); - Image logo = new Image(imageData).scaleToFit(100, 100); + Image logo = new Image(imageData).scaleToFit(75, 75); logo.setFixedPosition(50, 750); document.add(logo); // Add clinic information - String clinicInfo = "Your Clinic Name\n123 Clinic Street\nCity, State, ZIP\nPhone: (123) 456-7890\nEmail: clinic@example.com"; - Paragraph clinicInfoParagraph = new Paragraph(clinicInfo).setTextAlignment(com.itextpdf.layout.property.TextAlignment.RIGHT); + String clinicInfo = "Phòng khám BSK\nĐức Hòa Long An\nPhone: (123) 456-7890\nNgày khám: 30 tháng 2 năm 2025\n\n"; + Paragraph clinicInfoParagraph = new Paragraph(clinicInfo) + .setTextAlignment(com.itextpdf.layout.property.TextAlignment.RIGHT) + .setFont(font); document.add(clinicInfoParagraph); - // Add patient and doctor names - String patientDoctorInfo = "Patient: John Doe\nDoctor: Dr. Jane Smith"; - Paragraph patientDoctorParagraph = new Paragraph(patientDoctorInfo); - document.add(patientDoctorParagraph); + // Add title + String title = "Toa thuốc\n\n"; + Paragraph titleParagraph = new Paragraph(title) + .setFontSize(24).setFont(boldFont) + .setTextAlignment(com.itextpdf.layout.property.TextAlignment.CENTER); + document.add(titleParagraph); + + // Create a table with 2 columns, each taking 50% of the width + Table patientDoctorTable = new Table(UnitValue.createPercentArray(new float[]{50, 50})) + .setWidth(UnitValue.createPercentValue(100)); + +// Add patient and doctor information in the first column (left-aligned) + Cell patientDoctorCell = new Cell() + .add(new Paragraph("Họ tên bệnh nhân: Lê Nguyễn A\nSố điện thoại: 0123456789\n" + + "Địa chỉ: 123 Patient Street")) + .setTextAlignment(com.itextpdf.layout.property.TextAlignment.LEFT) + .setBorder(Border.NO_BORDER) + .setFont(font); + patientDoctorTable.addCell(patientDoctorCell); + +// Add date and invoice information in the second column (right-aligned) + Cell moreInfoCell = new Cell() + .add(new Paragraph("Phái: Nam\nTuổi: 25\nNgày sinh: 01/01/2000\n" + + "Bác sĩ: Nguyễn Văn B")) + .setTextAlignment(com.itextpdf.layout.property.TextAlignment.LEFT) + .setBorder(Border.NO_BORDER) + .setFont(font); + patientDoctorTable.addCell(moreInfoCell); + +// Add the table to the document + document.add(patientDoctorTable); + + // Diagnosis and notes + String diagnosisNotes = "Chẩn đoán: Cảm cúm\nGhi chú: Nghỉ ngơi và uống nhiều nước"; + Paragraph diagnosisNotesParagraph = new Paragraph(diagnosisNotes).setFont(font); + document.add(diagnosisNotesParagraph); + // Add services and medicine table Table table = new Table(UnitValue.createPercentArray(new float[]{4, 2, 2})) @@ -139,13 +184,11 @@ public class MedicalInvoiceWithGUI { table.addCell("$10"); document.add(table); - // Add diagnosis and notes - String diagnosisNotes = "Diagnosis: Flu\nNotes: Rest and hydration recommended"; - Paragraph diagnosisNotesParagraph = new Paragraph(diagnosisNotes); - document.add(diagnosisNotesParagraph); // Add signature area - Paragraph signatureArea = new Paragraph("\n\n\nSignature: ________________________"); + Paragraph signatureArea = new Paragraph("\n\n\nChữ Ký: ________________________") + .setFont(font) + .setTextAlignment(com.itextpdf.layout.property.TextAlignment.RIGHT); document.add(signatureArea); document.close(); diff --git a/src/main/java/BsK/client/ui/component/CheckUpPage/SidebarAnimationDemo.java b/src/main/java/BsK/client/ui/component/CheckUpPage/SidebarAnimationDemo.java new file mode 100644 index 0000000..46d07e7 --- /dev/null +++ b/src/main/java/BsK/client/ui/component/CheckUpPage/SidebarAnimationDemo.java @@ -0,0 +1,122 @@ +package BsK.client.ui.component.CheckUpPage; + +import javax.swing.*; +import java.awt.*; + +public class SidebarAnimationDemo { + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> { + JFrame frame = new JFrame("Sidebar Animation"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setSize(800, 500); + frame.setLayout(new BorderLayout()); + + // Sidebar with gradient + JPanel sidebar = new JPanel() { + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + Graphics2D g2d = (Graphics2D) g; + int width = getWidth(); + int height = getHeight(); + Color color1 = new Color(63, 81, 181); + Color color2 = new Color(33, 150, 243); + GradientPaint gp = new GradientPaint(0, 0, color1, 0, height, color2); + g2d.setPaint(gp); + g2d.fillRect(0, 0, width, height); + } + }; + sidebar.setLayout(new GridLayout(15, 1)); + sidebar.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); + sidebar.setPreferredSize(new Dimension(0, 500)); // Initially hidden + + // Sidebar items + String[] sidebarItems = {"Thống kê", "Thăm khám", "Dữ liệu bệnh nhân", "Kho", "Người dùng", "Thông tin"}; + String[] destination = {"DashboardPage", "CheckUpPage", "PatientDataPage", "InventoryPage", "UserPage", "InfoPage"}; + for (int i = 0; i < sidebarItems.length; i++) { + String item = sidebarItems[i]; + String dest = destination[i]; + JLabel label = new JLabel(item); + label.setForeground(Color.WHITE); + label.setHorizontalAlignment(SwingConstants.CENTER); + label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); + label.setFont(new Font("Arial", Font.BOLD, 14)); + + // Add hover and click effects + label.addMouseListener(new java.awt.event.MouseAdapter() { + @Override + public void mouseClicked(java.awt.event.MouseEvent e) { + System.out.println("Navigating to: " + dest); + // mainFrame.showPage(dest); // Example navigation call + } + + @Override + public void mouseEntered(java.awt.event.MouseEvent e) { + label.setForeground(new Color(200, 230, 255)); // Highlight on hover + } + + @Override + public void mouseExited(java.awt.event.MouseEvent e) { + label.setForeground(Color.WHITE); // Restore original color + } + }); + + sidebar.add(label); + } + + frame.add(sidebar, BorderLayout.WEST); + + // Main content with toggle button + JPanel mainContent = new JPanel(new BorderLayout()); + JLabel contentLabel = new JLabel("Main Content Area"); + contentLabel.setHorizontalAlignment(SwingConstants.CENTER); + mainContent.add(contentLabel, BorderLayout.CENTER); + + JButton toggleButton = new JButton("Toggle Sidebar"); + mainContent.add(toggleButton, BorderLayout.SOUTH); + + frame.add(mainContent, BorderLayout.CENTER); + + // Sidebar animation variables + boolean[] isSidebarOpen = {false}; // Track the sidebar state + + // Toggle button action + toggleButton.addActionListener(e -> { + new Timer(10, event -> { + int currentWidth = sidebar.getWidth(); + if (!isSidebarOpen[0]) { + if (currentWidth < 200) { // Expand to target width + sidebar.setPreferredSize(new Dimension(currentWidth + 10, 500)); + sidebar.revalidate(); + } else { + isSidebarOpen[0] = true; + ((Timer) event.getSource()).stop(); + } + } else { + if (currentWidth > 0) { // Retract to hidden + sidebar.setPreferredSize(new Dimension(currentWidth - 10, 500)); + sidebar.revalidate(); + } else { + isSidebarOpen[0] = false; + ((Timer) event.getSource()).stop(); + } + } + }).start(); + }); + + frame.setVisible(true); + + // Animate sidebar on startup + Timer timer = new Timer(10, event -> { + int currentWidth = sidebar.getWidth(); + if (currentWidth < 200) { // Target width + sidebar.setPreferredSize(new Dimension(currentWidth + 10, 500)); + sidebar.revalidate(); + } else { + ((Timer) event.getSource()).stop(); // Stop animation + } + }); + timer.start(); + }); + } +}