Java tutorial
/* * 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 UserInterface.CustomerRole; import Business.EcoSystem; import Business.Network.Network; import Business.Order.Order; import Business.Order.OrderItem; import Business.UserAccount.UserAccount; import java.awt.CardLayout; import java.awt.Color; import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.CategoryPlot; import org.jfree.data.category.DefaultCategoryDataset; /** * * @author user */ public class ViewProfileJPanel extends javax.swing.JPanel { /** * Creates new form ViewProfileJPanel */ private JPanel userProcessContainer; private UserAccount account; private Network network; private EcoSystem business; public ViewProfileJPanel(JPanel userProcessContainer, UserAccount account, Network network, EcoSystem business) { initComponents(); this.userProcessContainer = userProcessContainer; this.account = account; this.network = network; this.business = business; populateTextFields(); } public void populateTextFields() { nameTxtField.setText(account.getPerson().getName()); usernameTxtField.setText(account.getUsername()); emailTxtField.setText(account.getPerson().getEmail()); contactTxtField.setText(String.valueOf(account.getPerson().getContact())); } /** * 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. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabel2 = new javax.swing.JLabel(); changeBtn = new javax.swing.JButton(); purchasingBtn = new javax.swing.JButton(); backBtn = new javax.swing.JButton(); jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); nameTxtField = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); usernameTxtField = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); emailTxtField = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); contactTxtField = new javax.swing.JTextField(); setBackground(new java.awt.Color(255, 255, 255)); jLabel2.setFont(new java.awt.Font("Trebuchet MS", 3, 26)); // NOI18N jLabel2.setForeground(new java.awt.Color(255, 51, 51)); jLabel2.setText("Your Profile"); changeBtn.setBackground(new java.awt.Color(51, 51, 51)); changeBtn.setFont(new java.awt.Font("Trebuchet MS", 3, 14)); // NOI18N changeBtn.setForeground(new java.awt.Color(255, 255, 255)); changeBtn.setText("Change Password >>"); changeBtn.setBorder(new javax.swing.border.MatteBorder(null)); changeBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { changeBtnActionPerformed(evt); } }); purchasingBtn.setBackground(new java.awt.Color(51, 51, 51)); purchasingBtn.setFont(new java.awt.Font("Trebuchet MS", 3, 14)); // NOI18N purchasingBtn.setForeground(new java.awt.Color(255, 255, 255)); purchasingBtn.setText("<< Show My Purchasing Habits >>"); purchasingBtn.setBorder(new javax.swing.border.MatteBorder(null)); purchasingBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { purchasingBtnActionPerformed(evt); } }); backBtn.setBackground(new java.awt.Color(51, 51, 51)); backBtn.setFont(new java.awt.Font("Trebuchet MS", 3, 14)); // NOI18N backBtn.setForeground(new java.awt.Color(255, 255, 255)); backBtn.setText("<< Back"); backBtn.setBorder(new javax.swing.border.MatteBorder(null)); backBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { backBtnActionPerformed(evt); } }); jPanel1.setBackground(new java.awt.Color(255, 255, 255)); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Personal Details", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Trebuchet MS", 1, 14), new java.awt.Color(255, 0, 0))); // NOI18N jLabel1.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N jLabel1.setText("Name:"); nameTxtField.setEditable(false); nameTxtField.setFont(new java.awt.Font("Trebuchet MS", 0, 14)); // NOI18N nameTxtField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { nameTxtFieldActionPerformed(evt); } }); jLabel3.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N jLabel3.setText("UserName:"); usernameTxtField.setEditable(false); usernameTxtField.setFont(new java.awt.Font("Trebuchet MS", 0, 14)); // NOI18N jLabel5.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N jLabel5.setText("Email:"); emailTxtField.setEditable(false); emailTxtField.setFont(new java.awt.Font("Trebuchet MS", 0, 14)); // NOI18N emailTxtField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { emailTxtFieldActionPerformed(evt); } }); jLabel4.setFont(new java.awt.Font("Trebuchet MS", 1, 14)); // NOI18N jLabel4.setText("Contact Number:"); contactTxtField.setEditable(false); contactTxtField.setFont(new java.awt.Font("Trebuchet MS", 0, 14)); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup(jPanel1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addGap(73, 73, 73) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel3).addComponent(jLabel5).addComponent(jLabel1) .addComponent(jLabel4)) .addGap(104, 104, 104) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(usernameTxtField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(nameTxtField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(emailTxtField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(contactTxtField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(71, 71, 71))); jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addGap(30, 30, 30) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(nameTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1)) .addGap(39, 39, 39) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(usernameTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3)) .addGap(42, 42, 42) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5).addComponent(emailTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(38, 38, 38) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4).addComponent(contactTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(24, 24, 24))); 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(145, 145, 145) .addComponent(backBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGap(110, 110, 110) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(changeBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(267, 267, 267)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(purchasingBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 234, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(219, 219, 219)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addComponent(jLabel2).addGap(275, 275, 275)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(49, 49, 49))))); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGap(28, 28, 28).addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(changeBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(purchasingBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(backBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap())); }// </editor-fold>//GEN-END:initComponents private void nameTxtFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nameTxtFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_nameTxtFieldActionPerformed private void purchasingBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_purchasingBtnActionPerformed DefaultCategoryDataset dataset = new DefaultCategoryDataset(); String series1 = "Purchases"; for (Order o : network.getMasterOrderCatalog().getOrderCatalog()) { if (o.getBuyer().equals(account)) { for (OrderItem oi : o.getOrderItemList()) { dataset.addValue(oi.getQuantity(), series1, o.getDate()); } } } String chartTitle = "Purchase History"; String categoryAxisLabel = "TimeStamp"; String valueAxisLabel = "Values"; JFreeChart chart = ChartFactory.createLineChart(chartTitle, categoryAxisLabel, valueAxisLabel, dataset); chart.setBackgroundPaint(Color.white); chart.getTitle().setPaint(Color.BLACK); CategoryPlot p = chart.getCategoryPlot(); p.setRangeGridlinePaint(Color.BLUE); ChartFrame frame = new ChartFrame("Graph of Purchase Habit", chart); frame.setVisible(true); frame.setSize(450, 350); }//GEN-LAST:event_purchasingBtnActionPerformed private void backBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_backBtnActionPerformed userProcessContainer.remove(this); CardLayout layout = (CardLayout) userProcessContainer.getLayout(); layout.previous(userProcessContainer); }//GEN-LAST:event_backBtnActionPerformed private void emailTxtFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_emailTxtFieldActionPerformed // TODO add your handling code here: }//GEN-LAST:event_emailTxtFieldActionPerformed private void changeBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_changeBtnActionPerformed ChangePasswordJPanel changePasswordCustJPanel = new ChangePasswordJPanel(userProcessContainer, account); userProcessContainer.add("changePasswordCustJPanel", changePasswordCustJPanel); CardLayout layout = (CardLayout) userProcessContainer.getLayout(); layout.next(userProcessContainer); }//GEN-LAST:event_changeBtnActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton backBtn; private javax.swing.JButton changeBtn; private javax.swing.JTextField contactTxtField; private javax.swing.JTextField emailTxtField; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPanel jPanel1; private javax.swing.JTextField nameTxtField; private javax.swing.JButton purchasingBtn; private javax.swing.JTextField usernameTxtField; // End of variables declaration//GEN-END:variables }