Credit/Debit

Transaction

Above UI we are going to create by Java for Transaction for exesting Customer in our Bank management system desktop application. For that first we create a window and configure its title, size and color. Here we are creating a window at Top Level so we can add this window at the top of any other window.

    
        this.dashboardFrame = jframe;
		dashboardFrame.setVisible(false);
		screenSize = Toolkit.getDefaultToolkit().getScreenSize();

		windowWidth = (int) (screenSize.getWidth() *90 /100);
		windowHeight = (int) (windowWidth * 56 / 100);
		frameControllerSize = (int) (windowHeight * 5.7 / 100);

        transactionFrame = new JFrame();
		Utils.centeredFrame(transactionFrame, windowWidth, windowHeight, "Credit/Debit");
		transactionFrame.setResizable(false);
		
		Container frameContainer = transactionFrame.getContentPane();
		frameContainer.setBackground(Color.gray);

		// Changeable According to What size of screen You Want?
		int containerWidth = windowWidth*94/100;
		int containerHeight = windowHeight*90/100;
		
		int panelWidth = containerWidth*98/100;
		int panelHeight = containerHeight*96/100;
		int posX = windowWidth / 2 - panelWidth / 2 ;
		int posY = windowHeight / 2 - panelHeight / 2 - frameControllerSize / 2;

		// frame without control options
		panel = new JPanel(); 
		panel.setLayout(null);//new BorderLayout()); 
		//panel.setOpaque(false);
		panel.setBackground(Color.decode("#FFFFFF")); 
		panel.setSize(new Dimension(panelWidth,panelHeight)); 
		panel.setLocation(posX, posY);
		frameContainer.add(panel);
		
		// for Rounded Background
		posX = windowWidth / 2 - containerWidth / 2 ;
		posY = windowHeight / 2 - containerHeight / 2 - frameControllerSize / 2;
		JComponent jcomponent = new RoundedBackground(posX, posY, containerWidth, containerHeight);
		jcomponent.setLayout(null);
		frameContainer.add(jcomponent, BorderLayout.CENTER);
		
    

Here is our class RoundedBackground:

    
    public class RoundedBackground extends JComponent {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	int width, height,setX,setY;

    public RoundedBackground (int setX,int setY,int width, int height) {
    	this.width=width;
    	this.height=height;
    	this.setX=setX;
    	this.setY=setY;
    	
       setSize(width, height);
    }
	
    @Override
    public void paint(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        g2.setRenderingHint(
                RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setPaint(Color.white);

        //g2.setStroke(new BasicStroke(2.0f));

        double x = setX;
        double y = setY;
        double w = width;
        double h = height;
        RoundRectangle2D round=new RoundRectangle2D.Double(x, y, w, h, 80, 80);
        g2.fill(round);

    }

    
}


After creation of window with custom background, Here we create Header Labels.

    
    // for heading Layout
		posY = panelHeight * 2/100;
		Font headingFont = new Font("Serif", Font.PLAIN, 22);
		// header
		Border borderline = BorderFactory.createLineBorder(Color.black);
				
		JLabel heading_text = new JLabel("Credit/Debit");
		heading_text.setHorizontalAlignment(JLabel.CENTER);
		heading_text.setVerticalAlignment(JLabel.CENTER);
		heading_text.setBackground(Color.decode("#80c2b2"));
		heading_text.setForeground(Color.black);
		heading_text.setFont(headingFont);
		heading_text.setBounds(0,0, panelWidth, panelHeight / 15);
		panel.add(heading_text);
				
		panel.add(Utils.getSeparator(0, panelHeight / 13, panelWidth, 5,"000000"));			

	    
	    // Action table Base panel
	
		actionPanelWidth = panelWidth*35/100;
		actionPanelHeight = panelHeight*86/100;
	    actionPanel = new JPanel();
	    actionPanel.setBorder(Utils.getTitledBorder(10, "Action"));
	    //controlPanel.add(new MyCanvas());
	    actionPanel.setBounds(0,panelHeight*10/100, actionPanelWidth, actionPanelHeight);
	    actionPanel.setLayout(null);
	    actionPanel.setName("Action");
	    panel.add(actionPanel);
	     

    

So we are done with all background UI. Now we will add search UI, Customer credit debit option and ammount textfield UI in action pannel.

    
    # Add Search UI

        ImageIcon backround_img1 = new ImageIcon("images/ic_search.png");
		Image img1 = backround_img1.getImage();
		Image temp_img1 = img1.getScaledInstance(20, 20, Image.SCALE_SMOOTH);
		backround_img1 = new ImageIcon(temp_img1);
		JLabel background1 = new JLabel("", backround_img1, JLabel.CENTER);
		background1.setBounds(20,40, 20, 20);
		actionPanel.add(background1);
	    
	    JTextField acc_Search = new JTextField();
	    acc_Search.setBackground(Color.decode("#FFFFFF"));
	    acc_Search.setForeground(Color.black);
	    acc_Search.setBounds(40,40, 150, 20);
	    acc_Search.setOpaque(false);
	    acc_Search.setBorder(BorderFactory.createLineBorder(Color.white, 0));
	    acc_Search.setBackground(null);
	    actionPanel.add(acc_Search);
	    acc_Search.getDocument().addDocumentListener(new DocumentListener() {
	         @Override
	         public void insertUpdate(DocumentEvent e) {
	            search(acc_Search.getText());
	         }
	         @Override
	         public void removeUpdate(DocumentEvent e) {
	            search(acc_Search.getText());
	         }
	         @Override
	         public void changedUpdate(DocumentEvent e) {
	            search(acc_Search.getText());
	         }
	         public void search(String str) {
	            if (str.length() == 0) {
	               sorter2.setRowFilter(null);
	            } else {
	               sorter2.setRowFilter(RowFilter.regexFilter(str));
	            }
	         }
	      });
	    
	    actionPanel.add(Utils.getSeparator(20, 60, 170, 2,"000000"));	


        G1 = new ButtonGroup();
	    
	    
	    Font textFont = new Font("Serif",0,12);
	    jRadioCreditButton = new JRadioButton();
	    jRadioCreditButton.setText("Credit");
	    jRadioCreditButton.setFont(textFont);
	    jRadioCreditButton.setBounds(actionPanelWidth*15/100,actionPanelHeight*50/100, 100, 20);
	    jRadioCreditButton.setFocusable(false);
	    actionPanel.add(jRadioCreditButton);
	    
	    
	    
	    jRadioDebitButton = new JRadioButton();
	    jRadioDebitButton.setText("Debit");
	    jRadioDebitButton.setFont(textFont);
	    jRadioDebitButton.setBounds(actionPanelWidth*50/100, actionPanelHeight*50/100, 100, 20);
	    jRadioDebitButton.setFocusable(false);
	    actionPanel.add(jRadioDebitButton);
	    
	    G1.add(jRadioCreditButton);
        G1.add(jRadioDebitButton);
  
	   
	    JLabel amountL = new JLabel("Amount");
	    amountL.setAlignmentX(amountL.LEFT_ALIGNMENT);
	    amountL.setAlignmentY(amountL.LEFT_ALIGNMENT);
	    amountL.setForeground(Color.black);
	    amountL.setFont(textFont);
	    amountL.setBounds(actionPanelWidth*10/100,actionPanelHeight*60/100, 300, 20);
	    amountL.setBackground(Color.black);
	    actionPanel.add(amountL);
	    
	    amountField = new JTextField();
	    amountField.setForeground(Color.black);
	    amountField.setBounds(actionPanelWidth*10/100,actionPanelHeight*65/100, 300, 30);
	    amountField.setOpaque(false);
	    amountField.setBorder(BorderFactory.createLineBorder(Color.white, 0));
	    amountField.setBackground(null);
	    actionPanel.add(amountField);
	    
	    actionPanel.add(Utils.getSeparator(actionPanelWidth*10/100,actionPanelHeight*70/100,actionPanelWidth*80/100,5,"000000"));
	    


    

Here we create Account table UI in action pannel.

    
    # Account Table UI

    acc_table(actionPanelWidth, actionPanelHeight);

    private void acc_table(int width, int height) {		
			
			// TODO Auto-generated method stub
			String[] columnNames = {"Account No",
					 "Name",
	                "Balance"
	               	};
			
			DefaultTableModel model1 = new DefaultTableModel();
			sorter2 = new TableRowSorter<>(model1);
	
	        model1.setColumnIdentifiers(columnNames); 
			
	        accountTable = new JTable(){
				public boolean isCellEditable(int row, int column) {                
	                return false;               
				};
			};
			accountTable.setBounds(width*2/100,height*15/100, width*96/100,height*30/100);
			accountTable.setRowSorter(sorter2);
			//table.setEnabled(true);
			actionPanel.add(accountTable);
			accountTable.setModel(model1);
	
			JScrollPane scrollPane1 = new JScrollPane(accountTable);
			scrollPane1.setBounds(width*2/100,height*15/100, width*96/100,height*30/100);
			accountTable.setFillsViewportHeight(true);
			actionPanel.add(scrollPane1);
			
			DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
			centerRenderer.setHorizontalAlignment( JLabel.CENTER );
			accountTable.getColumnModel().getColumn(0).setCellRenderer( centerRenderer );
			accountTable.getColumnModel().getColumn(1).setCellRenderer( centerRenderer );
			accountTable.getColumnModel().getColumn(2).setCellRenderer( centerRenderer );
			
		
			accountTable.getTableHeader().setFont(new Font("SansSerif", 1, 13));
			accountTable.getTableHeader().setBackground(Color.decode("#4287f5"));
			accountTable.getTableHeader().setForeground(Color.decode("#FFFFFF"));
			accountTable.getTableHeader().setPreferredSize(new Dimension(760, 35));
			accountTable.setRowHeight(25);
			accountTable.getColumnModel().getColumn(0).setPreferredWidth(50);
			accountTable.getColumnModel().getColumn(1).setPreferredWidth(30);
			accountTable.getColumnModel().getColumn(2).setPreferredWidth(30);
			
	
			
			accountTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
		        public void valueChanged(ListSelectionEvent event) {
		            // do some actions here, for example
		            // print first column value from selected row
	//	            System.out.println(staffTable.getSelectedRow());
		           acc_no.setText("Account No : " + accountTable.getValueAt(accountTable.getSelectedRow(),0).toString());
		            
		           acc_number = accountTable.getValueAt(accountTable.getSelectedRow(),0).toString();
		           
		           transaction_table_update(accountTable.getValueAt(accountTable.getSelectedRow(),0).toString());
		           
		           
		         
		           
		        }
		    });
			
		
	
			acc_table_update();
		
		}
	

        


    

We have created a Database named "bankmanagement.db", lets connect that database and put that code in seperate class "SQLiteJDBCDriverConnection" because we are going to use it multiple time in our project.

    


    public class SQLiteJDBCDriverConnection {
    /**
    * Connect to a sample database
    */
   public String rate=null;
   public String date=null;


public static Connection connect1() {
   try {
       // SQLite connection string
       Class.forName("org.sqlite.JDBC");
   } catch (ClassNotFoundException ex) {
       Logger.getLogger(SQLiteJDBCDriverConnection.class.getName()).log(Level.SEVERE, null, ex);
   }
//   String url = "jdbc:sqlite:C:\\Users\\LWSSD\\eclipse-workspace\\HostelManagement\\hostelmanagement.db";
   String url = "jdbc:sqlite:bankmanagement.db";
   Connection conn = null;
   try {
       conn = DriverManager.getConnection(url);
   } catch (SQLException e) {
       System.out.println(e.getMessage());
   }
   return conn;
	}
}


   
    
        

Here logic to fetch data from database and show show it in Account table in action pannel.

    
    # Account Table data

    private void acc_table_update() {		
			
			
			
			
			conn = SQLiteJDBCDriverConnection.connect1();
			try {
				insert = conn.prepareStatement("SELECT  account_number, customer_name FROM customer  where status = 'Active'");
				ResultSet rs = insert.executeQuery();
				
				
				DefaultTableModel dft = (DefaultTableModel)accountTable.getModel();
				dft.setRowCount(0);
				
				
				while(rs.next()) {
					
					int old_credit = 0;
					int old_debit = 0;
					int balance = 0;
					
					insert = conn.prepareStatement("SELECT credit FROM statement where account_number IS ?");
					insert.setString(1, rs.getString("account_number"));
					ResultSet rs2 = insert.executeQuery();
					
					while(rs2.next()) 
					{
						old_credit = old_credit + (rs2.getInt("credit"));
					}
					
	//				System.out.println(rs2.getString("flight_name"));
	//				
					insert = conn.prepareStatement("SELECT debit FROM statement where account_number IS ?");
					insert.setString(1, rs.getString("account_number"));
					ResultSet rs3 = insert.executeQuery();
					
					while(rs3.next()) 
					{
						old_debit = old_debit + (rs3.getInt("debit"));
					}
					
					balance = old_credit - old_debit;
				
					Vector v2 = new Vector();
				
					v2.add(rs.getString("account_number"));
					v2.add(rs.getString("customer_name"));
					v2.add(String.valueOf(balance));
	
					dft.addRow(v2);
	
					
				}
			
				conn.close();
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		}
			
	

        


    

Now Create a Transaction UI for selected Account. First we create a lable to selected Account No.

    

        int transPanelWidth = panelWidth*64/100;
		int transPanelHeight = panelHeight*86/100;
	    transactionPanel = new JPanel();
	    transactionPanel.setLayout(new FlowLayout());
	    transactionPanel.setLayout(null);
	    transactionPanel.setBounds(panelWidth*36/100,panelHeight*10/100, transPanelWidth, transPanelHeight);
	    transactionPanel.setBorder(Utils.getTitledBorder(10, "Search"));
	    panel.add(transactionPanel);
	    
	    headingFont = new Font("Serif",Font.BOLD,18);
	    acc_no = new JLabel();
	    acc_no.setAlignmentX(JLabel.LEFT);
	    //searchLabel.setBackground(Color.decode("#80c2b2"));
	    acc_no.setForeground(Color.black);
	    acc_no.setFont(headingFont);
	    acc_no.setBounds(20,20, 200, 30);
	    transactionPanel.add(acc_no);
	    
	    transaction_table(transPanelWidth, transPanelHeight);

                        

Here we create Transaction table UI.

    

    private void transaction_table(int width, int height) {		
		
		// TODO Auto-generated method stub
		String[] columnNames = {"Transaction Id",
                "Credit",
                "Debit",
                "Balance",
                "Credit Date",
                "Debit Date"
               	};
		
		DefaultTableModel model1 = new DefaultTableModel();
		sorter2 = new TableRowSorter<>(model1);

        model1.setColumnIdentifiers(columnNames); 
		
        transactionTable = new JTable(){
			public boolean isCellEditable(int row, int column) {                
                return false;               
			};
		};
        transactionTable.setBounds(width*2/100,height*15/100, width*96/100,height*80/100);
//        transactionTable.setRowSorter(sorter2);
		//table.setEnabled(true);
		transactionPanel.add(transactionTable);
		transactionTable.setModel(model1);

		JScrollPane scrollPane1 = new JScrollPane(transactionTable);
		scrollPane1.setBounds(width*2/100,height*15/100, width*96/100,height*80/100);
		transactionTable.setFillsViewportHeight(true);
		transactionPanel.add(scrollPane1);
		
		DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
		centerRenderer.setHorizontalAlignment( JLabel.CENTER );
		transactionTable.getColumnModel().getColumn(0).setCellRenderer( centerRenderer );
		transactionTable.getColumnModel().getColumn(1).setCellRenderer( centerRenderer );
		transactionTable.getColumnModel().getColumn(2).setCellRenderer( centerRenderer );
		transactionTable.getColumnModel().getColumn(3).setCellRenderer( centerRenderer );
		transactionTable.getColumnModel().getColumn(4).setCellRenderer( centerRenderer );
		transactionTable.getColumnModel().getColumn(5).setCellRenderer( centerRenderer );

	
		transactionTable.getTableHeader().setFont(new Font("SansSerif", 1, 13));
		transactionTable.getTableHeader().setBackground(Color.decode("#4287f5"));
		transactionTable.getTableHeader().setForeground(Color.decode("#FFFFFF"));
		transactionTable.getTableHeader().setPreferredSize(new Dimension(760, 35));
		transactionTable.setRowHeight(25);
		transactionTable.getColumnModel().getColumn(0).setPreferredWidth(50);
		transactionTable.getColumnModel().getColumn(1).setPreferredWidth(30);
		transactionTable.getColumnModel().getColumn(2).setPreferredWidth(30);
		transactionTable.getColumnModel().getColumn(3).setPreferredWidth(30);

		
		transactionTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
	        public void valueChanged(ListSelectionEvent event) {
	            // do some actions here, for example
	            // print first column value from selected row
//	            System.out.println(staffTable.getSelectedRow());
//	           acc_no.setText("Account No : " + );
	            
	            
	           
	        }
	    });
		
	

//		transaction_table_update();
	
	}
                            

Here's the logic to show transactional data in table.

    

    private void transaction_table_update(String acc_no) {		
		
		
		
		conn = SQLiteJDBCDriverConnection.connect1();
		try {
			insert = conn.prepareStatement("SELECT transaction_id, credit, debit, balance, credit_date, debit_date FROM statement where account_number IS ?");
			insert.setString(1, acc_no);
			ResultSet rs = insert.executeQuery();
			
			
			DefaultTableModel dft = (DefaultTableModel)transactionTable.getModel();
			dft.setRowCount(0);
			
			
			while(rs.next()) {
			
				Vector v2 = new Vector();
				v2.add(rs.getString("transaction_id"));
				v2.add(rs.getString("credit"));
				v2.add(rs.getString("debit"));
				v2.add(rs.getString("balance"));
				v2.add(rs.getString("credit_date"));
				v2.add(rs.getString("debit_date"));
				

				dft.addRow(v2);

				
			}
		
			conn.close();
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		
	}

    

Here we create "CREDIT BUTTON" UI and functionality.

    

    private JButton getCreditButton() {
		
            
                creditBtn = new JButton(new ImageIcon(((new ImageIcon("images/button32.png")).getImage()).getScaledInstance(180, 40, java.awt.Image.SCALE_SMOOTH)));
                creditBtn.setContentAreaFilled(false);
                creditBtn.setBorder(null);
                creditBtn.setText("CREDIT");
                creditBtn.setHorizontalTextPosition(JButton.CENTER);
                creditBtn.setVerticalTextPosition(JButton.CENTER);
                creditBtn.setBounds((actionPanelWidth/2)-190,actionPanelHeight*87/100, 180, 40); 
                creditBtn.setFont(new java.awt.Font("Serif",1, 15));
                creditBtn.setOpaque(false);
                creditBtn.setContentAreaFilled(false);
                creditBtn.setForeground(Color.white);
                creditBtn.setVisible(true);
                
                creditBtn.addActionListener(new ActionListener() {
                    
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        // TODO Auto-generated method stub
                        
                            String var = "";
                             String credit_date = Utils.getDate("yyyy-MM-dd");
                            String amount = amountField.getText();
                            boolean is_amount_entered = false;
                            boolean is_option_selected = false;
                            
                            
                            if(amount.isEmpty()) {
                                var += "Amount Should not be empty, ";
                            }else {
                                is_amount_entered = true;
                            }
                            
                            
                            if(jRadioCreditButton.isSelected()) {
                                
                                is_option_selected = true;
                                
                            }else {
                                
                                var += "Selecte credit option, ";
                            }
                            
                            
                            if (is_option_selected && is_amount_entered) {
                                
                                conn = SQLiteJDBCDriverConnection.connect1();
                                
                                try {
                                    
                                    int old_credit = 0;
                                    int old_debit = 0;
                                    int balance = 0;
                                    
                                    insert = conn.prepareStatement("SELECT credit FROM statement where account_number IS ?");
                                    insert.setString(1, acc_number);
                                    ResultSet rs2 = insert.executeQuery();
                                    
                                    while(rs2.next()) 
                                    {
                                        old_credit = old_credit + (rs2.getInt("credit"));
                                    }
                   
                                    insert = conn.prepareStatement("SELECT debit FROM statement where account_number IS ?");
                                    insert.setString(1, acc_number);
                                    ResultSet rs3 = insert.executeQuery();
                                    
                                    while(rs3.next()) 
                                    {
                                        old_debit = old_debit + (rs3.getInt("debit"));
                                    }
                                    
                                    balance = (old_credit - old_debit)+ Integer.parseInt(amount);
                                    
                                    
                                    String debit = ""; 
                                    String debit_date = "";
                                    long trans_id = Utils.generateRandom(12);
                                    
                                    insert = conn.prepareStatement("insert into statement(transaction_id,account_number,credit,debit, balance, credit_date, debit_date)values(?,?,?,?,?,?,?)");
                                    insert.setLong(1, trans_id);
                                    insert.setString(2, acc_number);
                                    insert.setString(3, amount);
                                    insert.setString(4, debit);
                                    insert.setInt(5, balance);
                                    insert.setString(6, credit_date);
                                    insert.setString(7, debit_date);
                                    insert.executeUpdate();
                                } catch (SQLException e1) {
                                    // TODO Auto-generated catch block
                                    e1.printStackTrace();
                                }
                  
                                JOptionPane.showMessageDialog(null, "Successfully amount has been credited");
                                transaction_table_update(acc_number);                                
                                amountField.setText("");
                                
                                
                            }else {
                                
                                JOptionPane.showMessageDialog(null, var);
                                 
                                
                            }
                 
                    }
                });
                
                return creditBtn;		
            }
            
        

Here we create "DEBIT BUTTON" UI and functionality.

    

    private JButton getdebitButton() {
		
		debitBtn = new JButton(new ImageIcon(((new ImageIcon("images/button32.png")).getImage()).getScaledInstance(180, 40, java.awt.Image.SCALE_SMOOTH)));
		debitBtn.setContentAreaFilled(false);
		debitBtn.setBorder(null);
		debitBtn.setText("DEDIT");
		debitBtn.setHorizontalTextPosition(JButton.CENTER);
		debitBtn.setVerticalTextPosition(JButton.CENTER);
		debitBtn.setBounds((actionPanelWidth/2)+10,actionPanelHeight*87/100, 180, 40); 
		debitBtn.setFont(new java.awt.Font("Serif",1, 15));
		debitBtn.setOpaque(false);
		debitBtn.setContentAreaFilled(false);
		debitBtn.setForeground(Color.white);
		debitBtn.setVisible(true);
		
		debitBtn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				
				String var = "";
			 	String debit_date = Utils.getDate("yyyy-MM-dd");
				String amount = amountField.getText();
				boolean is_amount_entered = false;
				boolean is_option_selected = false;
				
				
				if(amount.isEmpty()) {
					var += "Amount Should not be empty, ";
		        }else {
		        	is_amount_entered = true;
		        }
				
				
				if(jRadioDebitButton.isSelected()) {
					
					is_option_selected = true;
					
				}else {
					
					var += "Selecte debit option, ";
				}
				
				
				if (is_option_selected && is_amount_entered) {
					
					conn = SQLiteJDBCDriverConnection.connect1();
					
					try {
						
						int old_credit = 0;
						int old_debit = 0;
						int balance = 0;
						int old_balance = 0;
						
						insert = conn.prepareStatement("SELECT credit FROM statement where account_number IS ?");
						insert.setString(1, acc_number);
						ResultSet rs2 = insert.executeQuery();
						
						while(rs2.next()) 
						{
							old_credit = old_credit + (rs2.getInt("credit"));
						}
	
						insert = conn.prepareStatement("SELECT debit FROM statement where account_number IS ?");
						insert.setString(1, acc_number);
						ResultSet rs3 = insert.executeQuery();
						
						while(rs3.next()) 
						{
							old_debit = old_debit + (rs3.getInt("debit"));
						}
						
						old_balance = (old_credit - old_debit);
						
						
						if(old_balance >= Integer.parseInt(amount)) {
							
							balance = old_balance - Integer.parseInt(amount);
							
							String credit = ""; 
							String credit_date = "";
							long trans_id = Utils.generateRandom(12);
							
							insert = conn.prepareStatement("insert into statement(transaction_id,account_number,credit,debit, balance, credit_date, debit_date)values(?,?,?,?,?,?,?)");
							insert.setLong(1, trans_id);
							insert.setString(2, acc_number);
							insert.setString(3, credit);
							insert.setString(4, amount);
							insert.setInt(5, balance);
							insert.setString(6, credit_date);
							insert.setString(7, debit_date);
							insert.executeUpdate();
							
							JOptionPane.showMessageDialog(null, "Successfully amount has been debited");
							transaction_table_update(acc_number);
				            amountField.setText("");

						}else {
							
							JOptionPane.showMessageDialog(null, "Insufficient Balance.");
						}
						
					} catch (SQLException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					
					}
					
				}else {
					
					JOptionPane.showMessageDialog(null, var);
				
				}
			}
		});
	    
		return debitBtn;		
	}
	

        

At last we will manage closing of window

    
    transactionFrame.addWindowListener(new WindowAdapter(){  
            public void windowClosing(WindowEvent e) {  
            	transactionFrame.dispose();
            	dashboardFrame.setVisible(true);            	
            }  
        });  
		
        transactionFrame.setVisible(true);
		
                       

Programmer Mirta is for learning and training. Projects might be simple to improve learning. Projects are constantly reviewed to avoid errors, but we cannot assure full correctness of all content. While using Programmer Mitra, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 2021 by Programmer Mitra. All Rights Reserved.