Văn bản thay đổi nộidung hợp đồng nguyên tắc này được xem là Phụ lục và là một phần không thểtách rời của Hợp đồng.- Các nội dung quy định trong hợp đồng nguyên tắc này sẽ được cụ thể hó
Biên bản cuộc họp
Backlog
Tiến độ Trello
Màn hình quản lí nhân viên
6 Màn hình quản lý khách hàng
7 Màn hình hiển thị lịch sử hóa đơn
8 Màn hình hiển thị doanh thu
6 Thiết kế giao diện trên Figma
Regular (Ghi nhớ mật khẩu) : 20 Text Color: Black
Button_ Đăng nhập: 186 x 64 Button_Thoát: 145 x 64
Font danh mục : 20 , Color : white
Font thông tin : 20, Color: black
3 Màn hình quản lý sản phẩm
Font tiêu đề: 32, Color: red
Font danh mục : 20 , Color : white
Font thông tin : 16, Color: black
4 Màn hình hiển thị thông tin hóa đơn
Font tiêu đề: 32, Color: red
Font danh mục : 20 , Color : white Font thông tin : 16, Color: black Font table: 16, Color : black
5 Màn hình quản lí nhân viên
Text Field (thông tin tên, tuổi ): 314 x 34
Font tiêu đề: 32 , Color: red
Font danh mục : 20 , Color : white
Font thông tin : 20, Color: black
6 Màn hình quản lý khách hàng
Font tiêu đề: 32, Color: red
Font danh mục : 20 , Color : white
Font thông tin : 16, Color: black
7 Màn hình hiển thị lịch sử hóa đơn
Font tiêu đề: 32, Color: red
Font danh mục : 20 , Color : white Font thông tin : 16, Color: black Font table: 16, Color : black
8 Màn hình hiển thị doanh thu
Font tiêu đề: 32, Color: red Font danh mục : 20 , Color : white Font thông tin : 16, Color: black Font table: 16, Color : black
Quản lý cửa hàng bán điện thoại di động
Lưu, sửa, xóa bỏ sản phẩm
Lưu, sửa, xóa nhân viên
Doanh thu trong các tháng
Lưu, sửa, khách xóa hàng
Tìm kiếm sản phẩm kiếm Tìm nhân viên
8 Sơ đồ phân rã chức năng mức 0
1 Quản lý sản hẩ TT Sản phẩm quả Kết tìm kiế m
Quản lý trung Báo cáo kinh doanh tâm
Yêu cầu tìm kiếm Kết quả tìm kiếm
9 Sơ đồ phân ra chức năng mức 1
Thông tin sản phẩm mới
Thông tin cập nhật sản phẩm
Lưu, sửa xóa sản phẩm Thêm sản phẩm
9 Sơ đồ phân ra chức năng mức 1
Thông nhân tin viên mới
Thông tin nhân thay đổi viên
Lưu, sửa xóa nhân viên Nhân viên
9 Sơ đồ phân ra chức năng mức 1
Thông khách tin thay đổi hàng Lưu, sửa xóa khách hàng
Thêm mới khách Thông hà khách tin hàng mới
9 Sơ đồ phân ra chức năng mức 1 lượng Số hàng bán chạy
DS sản phẩm ĐH xuất
Quản lí trung tâm hàng Mặt chạy bán hàng Mặt kho tồn
9 Sơ đồ phân ra chức năng mức 1 Đơn hàng, hóa đơn đã thanh toán
9 Sơ đồ phân ra chức năng mức 1
Quản lý nhân viên kiếm Tìm nhân
Khác TT hàng h kiếm Tìm sản ẩ kiếm Tìm khách
Người thực hiện: Lê Bá Minh
1 Màn hình login package view; public class Login extends javax.swing.JFrame { public Login() { initComponents(); this.setLocationRelativeTo(null);
// private void initComponents() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jPasswordField1 = new javax.swing.JPasswordField(); jCheckBox1 = new javax.swing.JCheckBox(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jLabel4 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstant s.EXIT_ON_CLOSE); jPanel1.setBackground(new java.awt.Color(255,
255, 255)); jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/lo go.fpt.jpg"))); // NOI18N jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N jLabel2.setText("Tài khoản:"); jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N jLabel3.setText("Mật khẩu:"); jCheckBox1.setText("Ghi nhớ mật khẩu"); jButton1.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N jButton1.setText("Đăng nhập"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt);
}); jButton2.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N jButton2.setText("Thoát"); jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/ke y2.png"))); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup() addGap(54, 54, 54)
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.LEADING, false)
addComponent(jPasswordField1, javax.swing.GroupLayout.DEFAULT_SIZE, 285,
addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(jPanel1Layout.createSequentialGroup() addContainerGap()
.addPreferredGap(javax.swing.LayoutStyle.ComponentP lacement.RELATED, 91, Short.MAX_VALUE)
addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 221, javax.swing.GroupLayout.PREFERRED_SIZE)
); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup() addComponent(jLabel1)
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.BASELINE)
addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentP lacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.BASELINE)
addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentP lacement.RELATED)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILIN
.addPreferredGap(javax.swing.LayoutStyle.ComponentP lacement.RELATED)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.BASELINE)
addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING)
addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING)
addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
}// private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Home home = new Home(); home.setVisible(true); this.setVisible(false);
} public static void main(String args[]) {
/* Set the Nimbus look and feel */
//
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/look andfeel/plaf.html
*/ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassNa me()); break;
} catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Login.class.getName ()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) { java.util.logging.Logger.getLogger(Login.class.getName ()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Login.class.getName ()).log(java.util.logging.Level.SEVERE, null, ex);
(javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Login.class.getName ()).log(java.util.logging.Level.SEVERE, null, ex);
/* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Login().setVisible(true);
// Variables declaration - do not modify private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JCheckBox jCheckBox1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1; private javax.swing.JPasswordField jPasswordField1; private javax.swing.JTextField jTextField1;
2 Màn hình Home và các màn hình khác package view; import javax.swing.ImageIcon; public class Home extends javax.swing.JFrame { public Home() { initComponents(); this.setLocationRelativeTo(null); setVisibleAllPanel();
// private void initComponents() { buttonGroup1 = new javax.swing.ButtonGroup(); buttonGroup2 = new javax.swing.ButtonGroup(); jPanel1 = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); btnHome = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); btnHoaDon = new javax.swing.JLabel(); jPanel4 = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); btnSanPham = new javax.swing.JLabel(); jPanel5 = new javax.swing.JPanel(); jLabel7 = new javax.swing.JLabel(); btnNhanVien = new javax.swing.JLabel(); jPanel6 = new javax.swing.JPanel(); jLabel9 = new javax.swing.JLabel(); btnLichSuHoaDon = new javax.swing.JLabel(); jPanel7 = new javax.swing.JPanel(); jLabel11 = new javax.swing.JLabel(); btnKhuyenMai = new javax.swing.JLabel(); jPanel8 = new javax.swing.JPanel(); jLabel13 = new javax.swing.JLabel(); btnDoanhThu = new javax.swing.JLabel(); jPanel9 = new javax.swing.JPanel();
Home1 = new javax.swing.JPanel(); panelRound1 = new custom.PanelRound(); avatarHome = new javax.swing.JLabel(); jLabel18 = new javax.swing.JLabel(); jLabel19 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jTextField2 = new javax.swing.JTextField(); jPanel10 = new javax.swing.JPanel(); jLabel53 = new javax.swing.JLabel(); jLabel20 = new javax.swing.JLabel(); jLabel48 = new javax.swing.JLabel(); jLabel49 = new javax.swing.JLabel(); jLabel50 = new javax.swing.JLabel(); SanPham = new javax.swing.JPanel(); jLabel15 = new javax.swing.JLabel(); jTextField3 = new javax.swing.JTextField(); jLabel16 = new javax.swing.JLabel(); jLabel17 = new javax.swing.JLabel(); jLabel21 = new javax.swing.JLabel(); jLabel22 = new javax.swing.JLabel(); jLabel23 = new javax.swing.JLabel(); jLabel24 = new javax.swing.JLabel(); jLabel25 = new javax.swing.JLabel(); jTextField4 = new javax.swing.JTextField(); jTextField5 = new javax.swing.JTextField(); jTextField6 = new javax.swing.JTextField(); jComboBox2 = new javax.swing.JComboBox(); jComboBox3 = new javax.swing.JComboBox(); jRadioButton1 = new javax.swing.JRadioButton(); jRadioButton2 = new javax.swing.JRadioButton(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jButton4 = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jLabel43 = new javax.swing.JLabel(); myButton3 = new view.MyButton();
LichSuHoaDon = new javax.swing.JPanel(); jLabel26 = new javax.swing.JLabel(); jScrollPane2 = new javax.swing.JScrollPane(); jTable2 = new javax.swing.JTable(); jScrollPane3 = new javax.swing.JScrollPane(); jTable3 = new javax.swing.JTable(); jLabel27 = new javax.swing.JLabel(); jLabel28 = new javax.swing.JLabel(); jLabel44 = new javax.swing.JLabel(); jLabel45 = new javax.swing.JLabel(); jLabel46 = new javax.swing.JLabel(); jLabel47 = new javax.swing.JLabel();
DoanhThu = new javax.swing.JPanel(); jLabel29 = new javax.swing.JLabel(); jScrollPane4 = new javax.swing.JScrollPane(); jTable4 = new javax.swing.JTable(); jButton13 = new javax.swing.JButton(); jButton14 = new javax.swing.JButton();
HoaDon = new javax.swing.JPanel(); jLabel30 = new javax.swing.JLabel(); jScrollPane5 = new javax.swing.JScrollPane(); jTable5 = new javax.swing.JTable(); jLabel31 = new javax.swing.JLabel(); jRadioButton3 = new javax.swing.JRadioButton(); jRadioButton4 = new javax.swing.JRadioButton(); jRadioButton5 = new javax.swing.JRadioButton(); jRadioButton6 = new javax.swing.JRadioButton(); jLabel32 = new javax.swing.JLabel(); jLabel33 = new javax.swing.JLabel(); jLabel34 = new javax.swing.JLabel(); jLabel35 = new javax.swing.JLabel(); jButton15 = new javax.swing.JButton(); panelRound2 = new custom.PanelRound(); jLabel41 = new javax.swing.JLabel();
NhanVien = new javax.swing.JPanel(); jLabel8 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel10 = new javax.swing.JLabel(); jLabel12 = new javax.swing.JLabel(); jLabel14 = new javax.swing.JLabel(); jLabel36 = new javax.swing.JLabel(); jTextField7 = new javax.swing.JTextField(); jTextField8 = new javax.swing.JTextField(); jTextField9 = new javax.swing.JTextField(); jTextField10 = new javax.swing.JTextField(); jTextField11 = new javax.swing.JTextField(); jRadioButton7 = new javax.swing.JRadioButton(); jRadioButton8 = new javax.swing.JRadioButton(); jComboBox4 = new javax.swing.JComboBox(); panelRound3 = new custom.PanelRound(); jTextField12 = new javax.swing.JTextField(); jButton5 = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); jButton7 = new javax.swing.JButton(); jButton8 = new javax.swing.JButton(); jScrollPane6 = new javax.swing.JScrollPane(); jTable6 = new javax.swing.JTable(); myButton1 = new view.MyButton();
KhachHang = new javax.swing.JPanel(); jLabel38 = new javax.swing.JLabel(); jLabel39 = new javax.swing.JLabel(); jLabel42 = new javax.swing.JLabel(); jLabel54 = new javax.swing.JLabel(); jLabel56 = new javax.swing.JLabel(); jLabel57 = new javax.swing.JLabel(); jTextField13 = new javax.swing.JTextField(); jTextField14 = new javax.swing.JTextField(); jTextField15 = new javax.swing.JTextField(); jTextField16 = new javax.swing.JTextField(); jRadioButton9 = new javax.swing.JRadioButton(); jRadioButton10 = new javax.swing.JRadioButton(); panelRound4 = new custom.PanelRound(); jLabel58 = new javax.swing.JLabel(); jScrollPane7 = new javax.swing.JScrollPane(); jTable7 = new javax.swing.JTable(); jButton9 = new javax.swing.JButton(); jButton10 = new javax.swing.JButton(); jButton11 = new javax.swing.JButton(); jButton12 = new javax.swing.JButton(); jTextField17 = new javax.swing.JTextField(); myButton2 = new view.MyButton(); setDefaultCloseOperation(javax.swing.WindowConstant s.EXIT_ON_CLOSE); setPreferredSize(new java.awt.Dimension(1365, 697)); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jPanel1.setBackground(new java.awt.Color(253, 8, 8)); jPanel2.setBackground(new java.awt.Color(253, 8, 8)); jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/ic ons8-home-30.png"))); // NOI18N jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); btnHome.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N btnHome.setForeground(new java.awt.Color(255,
255, 255)); btnHome.setText("Home"); btnHome.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); btnHome.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { btnHomeMouseClicked(evt);
}); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup() addGap(52, 52, 52)
addComponent(btnHome, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S IZE, Short.MAX_VALUE))
); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILIN
.addGroup(jPanel2Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.LEADING, false)
addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
addComponent(btnHome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
); jPanel3.setBackground(new java.awt.Color(253, 8, 8)); jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/ic ons8-bill-30 (1).png"))); // NOI18N jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); btnHoaDon.setFont(new java.awt.Font("Segoe UI",
1, 18)); // NOI18N btnHoaDon.setForeground(new java.awt.Color(255, 255, 255)); btnHoaDon.setText("Hoá Đơn"); btnHoaDon.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); btnHoaDon.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { btnHoaDonMouseClicked(evt);
}); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup() addGap(52, 52, 52)
addComponent(btnHoaDon, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S IZE, Short.MAX_VALUE))
); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILIN
.addGroup(jPanel3Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.LEADING, false)
addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
addComponent(btnHoaDon, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
); jPanel4.setBackground(new java.awt.Color(253, 8, 8)); jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/ic ons8-bill-30.png"))); // NOI18N jLabel5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); btnSanPham.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N btnSanPham.setForeground(new java.awt.Color(255, 255, 255)); btnSanPham.setText("Sản Phẩm"); btnSanPham.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); btnSanPham.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { btnSanPhamMouseClicked(evt);
}); javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); jPanel4.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup() addGap(52, 52, 52)
addComponent(btnSanPham, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S IZE, Short.MAX_VALUE))
); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup() addGap(19, 19, 19)
.addGroup(jPanel4Layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.TRAILING)
addComponent(btnSanPham, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)