Add Passenger

addPassengerFrame = new JFrame();
Utils.centeredFrame(addPassengerFrame, windowWidth, windowHeight, "Add/Edit Passenger");
addPassengerFrame.setResizable(false);
Container frameContainer = addPassengerFrame.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 we create JLabel and JSeparator for heading.
// for heading Layout
posY = panelHeight * 2/100;
Font headingFont = new Font("Serif", Font.PLAIN, 22);
// header
//borderline = BorderFactory.createLineBorder(Color.black);
JLabel heading_text = new JLabel("Add/Edit Passenger");
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"));
Here we create a Base JPanel and some entry fields like JLabel, JTextFields and adding buttons .
// Action table Base panel
Font textFont = new Font("Serif",1,12);
Border borderline = BorderFactory.createLineBorder(Color.black);
int actionPanelWidth = panelWidth*35/100;
int 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);
panel.add(actionPanel);
textFont = new Font("Serif",0,12);
JLabel passengerNameL = new JLabel("Passenger Name");
passengerNameL.setAlignmentX(passengerNameL.LEFT_ALIGNMENT);
passengerNameL.setAlignmentY(passengerNameL.LEFT_ALIGNMENT);
passengerNameL.setForeground(Color.black);
passengerNameL.setFont(textFont);
passengerNameL.setBounds(actionPanelWidth*15/100,actionPanelHeight*10/100, actionPanelWidth*70/100, actionPanelHeight*7/100);
passengerNameL.setBackground(Color.black);
actionPanel.add(passengerNameL);
passengerNameField = new JTextField();
passengerNameField.setForeground(Color.black);
passengerNameField.setBounds(actionPanelWidth*15/100,actionPanelHeight*12/100, actionPanelWidth*70/100, actionPanelHeight*10/100);
passengerNameField.setOpaque(false);
passengerNameField.setBorder(BorderFactory.createLineBorder(Color.white, 0));
passengerNameField.setBackground(null);
actionPanel.add(passengerNameField);
actionPanel.add(Utils.getSeparator(actionPanelWidth*15/100,actionPanelHeight*20/100,actionPanelWidth*70/100,5,"000000"));
JLabel contactL = new JLabel("Contact No.");
contactL.setAlignmentX(contactL.LEFT_ALIGNMENT);
contactL.setAlignmentY(contactL.LEFT_ALIGNMENT);
contactL.setForeground(Color.black);
contactL.setFont(textFont);
contactL.setBounds(actionPanelWidth*15/100,actionPanelHeight*23/100, actionPanelWidth*70/100, actionPanelHeight*7/100);
contactL.setBackground(Color.black);
actionPanel.add(contactL);
contactField = new JTextField();
contactField.setForeground(Color.black);
contactField.setBounds(actionPanelWidth*15/100,actionPanelHeight*25/100, actionPanelWidth*70/100, actionPanelHeight*10/100);
contactField.setOpaque(false);
contactField.setBorder(BorderFactory.createLineBorder(Color.white, 0));
contactField.setBackground(null);
actionPanel.add(contactField);
actionPanel.add(Utils.getSeparator(actionPanelWidth*15/100,actionPanelHeight*33/100,actionPanelWidth*70/100,5,"000000"));
JLabel emailL = new JLabel("Email ID");
emailL.setAlignmentX(emailL.LEFT_ALIGNMENT);
emailL.setAlignmentY(emailL.LEFT_ALIGNMENT);
emailL.setForeground(Color.black);
emailL.setFont(textFont);
emailL.setBounds(actionPanelWidth*15/100,actionPanelHeight*36/100, actionPanelWidth*70/100, actionPanelHeight*7/100);
emailL.setBackground(Color.black);
actionPanel.add(emailL);
emailField = new JTextField();
emailField.setForeground(Color.black);
emailField.setBounds(actionPanelWidth*15/100,actionPanelHeight*38/100, actionPanelWidth*70/100, actionPanelHeight*10/100);
emailField.setOpaque(false);
emailField.setBorder(BorderFactory.createLineBorder(Color.white, 0));
emailField.setBackground(null);
actionPanel.add(emailField);
actionPanel.add(Utils.getSeparator(actionPanelWidth*15/100,actionPanelHeight*46/100,actionPanelWidth*70/100,5,"000000"));
addPassengerBtn(actionPanelWidth, actionPanelHeight);
actionPanel.add(getUpdateButton(actionPanelWidth, actionPanelHeight));
actionPanel.add(getCancleButton(actionPanelWidth, actionPanelHeight));
Here we define "AddPassenger","Update","Cancle" button with click functionality
private void addPassengerBtn(int width, int height) {
addPassengerBtn = new JButton(new ImageIcon(((new ImageIcon("images/button40.png")).getImage()).getScaledInstance(width*60/100, height*10/100, java.awt.Image.SCALE_SMOOTH)));
addPassengerBtn.setContentAreaFilled(false);
addPassengerBtn.setBorder(null);
addPassengerBtn.setText("ADD PASSENGER");
addPassengerBtn.setHorizontalTextPosition(JButton.CENTER);
addPassengerBtn.setVerticalTextPosition(JButton.CENTER);
addPassengerBtn.setBounds(width*20/100,height*80/100, width*60/100, height*10/100);
addPassengerBtn.setOpaque(false);
addPassengerBtn.setContentAreaFilled(false);
addPassengerBtn.setBorderPainted(false);
addPassengerBtn.setFont(new java.awt.Font("Serif",1, 15));
addPassengerBtn.setForeground(Color.white);
actionPanel.add(addPassengerBtn);
addPassengerBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String var = "";
boolean is_name_entered = false;
boolean is_contact_number_entered = false;
boolean is_email_id_entered = false;
String passengerId = "P";
String name = passengerNameField.getText();
String contact = contactField.getText();
String email = emailField.getText();
int id_count = 0;
String key = "PASSENGER_LAST_COUNT";
if(name.isEmpty()) {
var += "Name Should not be empty, ";
}else {
is_name_entered = true;
}
if(contact.isEmpty()) {
var += "Contact Should not be empty, ";
}else {
is_contact_number_entered = true;
}
if(email.isEmpty()) {
var += "Email Should not be empty, ";
}else {
is_email_id_entered = true;
}
if(is_name_entered && is_contact_number_entered && is_email_id_entered) {
conn = SqliteConnection.ConnectDb();
try {
insert = conn.prepareStatement("SELECT value FROM system_setting WHERE key = 'PASSENGER_LAST_COUNT'");
ResultSet rs = insert.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
while (rs.next()) {
id_count = rs.getInt(1)+1;
}
DecimalFormat df = new DecimalFormat("000");
passengerId = passengerId+df.format(id_count);
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
try {
insert = conn.prepareStatement("insert into passenger_detail(passenger_id,passenger_name,contact_number,email_id)values(?,?,?,?)");
insert.setString(1, passengerId);
insert.setString(2, name);
insert.setString(3, contact);
insert.setString(4, email);
insert.executeUpdate();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
insert = conn.prepareStatement("UPDATE system_setting "
+ "SET value = ? "
+ "WHERE key = ?");
insert.setInt(1, id_count);
insert.setString(2, key);
insert.executeUpdate();
conn.close();
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
is_passenger_added = true;
passengerNameField.setText("");
contactField.setText("");
emailField.setText("");
passenger_table_update();
var = "Passenger has been added successfully";
JOptionPane.showMessageDialog(null, var);
}else {
JOptionPane.showMessageDialog(null, var);
}
}
});
}
private JButton getUpdateButton(int width, int height) {
updateBtn = new JButton(new ImageIcon(((new ImageIcon("images/button40.png")).getImage()).getScaledInstance(width*40/100, height*8/100, java.awt.Image.SCALE_SMOOTH)));
updateBtn.setContentAreaFilled(false);
updateBtn.setBorder(null);
updateBtn.setText("UPDATE");
updateBtn.setHorizontalTextPosition(JButton.CENTER);
updateBtn.setVerticalTextPosition(JButton.CENTER);
updateBtn.setBounds(width*5/100,height*80/100, width*40/100, height*8/100);
updateBtn.setFont(new java.awt.Font("Serif",1, 15));
updateBtn.setOpaque(false);
updateBtn.setContentAreaFilled(false);
updateBtn.setForeground(Color.white);
updateBtn.setVisible(false);
updateBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String passengerId = passengerTable.getValueAt(passengerTable.getSelectedRow(),0).toString();
String name = passengerNameField.getText();
String contact = contactField.getText();
String email = emailField.getText();
conn = SqliteConnection.ConnectDb();
try {
insert = conn.prepareStatement("UPDATE passenger_detail SET passenger_name = ?, contact_number = ?, email_id = ? WHERE passenger_id = ?");
insert.setString(1, name);
insert.setString(2, contact);
insert.setString(3, email);
insert.setString(4, passengerId);
insert.executeUpdate();
conn.close();
System.out.println(passengerId );
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
passenger_table_update();
addPassengerBtn.setVisible(true);
editBtn.setVisible(true);
updateBtn.setVisible(false);
cancleBtn.setVisible(false);
}
});
return updateBtn;
}
private JButton getCancleButton(int width, int height) {
cancleBtn = new JButton(new ImageIcon(((new ImageIcon("images/button40.png")).getImage()).getScaledInstance(width*40/100, height*8/100, java.awt.Image.SCALE_SMOOTH)));
cancleBtn.setContentAreaFilled(false);
cancleBtn.setBorder(null);
cancleBtn.setText("CANCEL");
cancleBtn.setHorizontalTextPosition(JButton.CENTER);
cancleBtn.setVerticalTextPosition(JButton.CENTER);
cancleBtn.setBounds(width*55/100,height*80/100, width*40/100, height*8/100);
cancleBtn.setFont(new java.awt.Font("Serif",1, 15));
cancleBtn.setOpaque(false);
cancleBtn.setContentAreaFilled(false);
cancleBtn.setForeground(Color.white);
cancleBtn.setVisible(false);
cancleBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
addPassengerBtn.setVisible(true);
editBtn.setVisible(true);
updateBtn.setVisible(false);
cancleBtn.setVisible(false);
passengerNameField.setText("");
contactField.setText("");
emailField.setText("");
}
});
return cancleBtn;
}
int passengerPanelWidth = panelWidth*64/100;
int passengerPanelHeight = panelHeight*86/100;
passengerPanel = new JPanel();
passengerPanel.setLayout(new FlowLayout());
passengerPanel.setLayout(null);
passengerPanel.setBounds(panelWidth*36/100,panelHeight*10/100, passengerPanelWidth, passengerPanelHeight);
passengerPanel.setBorder(Utils.getTitledBorder(10, "Search"));
panel.add(passengerPanel);
headingFont = new Font("Serif",Font.BOLD,16);
JLabel passenger_search_L = new JLabel("Search Passenger");
passenger_search_L.setAlignmentX(JLabel.LEFT);
//searchLabel.setBackground(Color.decode("#80c2b2"));
passenger_search_L.setForeground(Color.black);
passenger_search_L.setFont(headingFont);
passenger_search_L.setBounds(20,10, 200, 30);
passengerPanel.add(passenger_search_L);
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);
passengerPanel.add(background1);
JTextField passengerSearch = new JTextField();
passengerSearch.setBackground(Color.decode("#FFFFFF"));
passengerSearch.setForeground(Color.black);
passengerSearch.setBounds(40,40, 150, 20);
passengerSearch.setOpaque(false);
passengerSearch.setBorder(BorderFactory.createLineBorder(Color.white, 0));
passengerSearch.setBackground(null);
passengerPanel.add(passengerSearch);
passengerSearch.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
search(passengerSearch.getText());
}
@Override
public void removeUpdate(DocumentEvent e) {
search(passengerSearch.getText());
}
@Override
public void changedUpdate(DocumentEvent e) {
search(passengerSearch.getText());
}
public void search(String str) {
if (str.length() == 0) {
sorter2.setRowFilter(null);
} else {
sorter2.setRowFilter(RowFilter.regexFilter(str));
}
}
});
passengerPanel.add(Utils.getSeparator(20, 60, 170, 2,"000000"));
passenger_table(passengerPanelWidth, passengerPanelHeight);
passengerPanel.add(getEditButton(passengerPanelWidth, passengerPanelHeight));
passengerPanel.add(getDeleteButton(passengerPanelWidth, passengerPanelHeight));
addPassengerFrame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
addPassengerFrame.dispose();
dashboardFrame.setVisible(true);
FlightBooking.passenger_table_update();
// if(is_passenger_added) {
// FlightBooking frame = new FlightBooking(dashboardFrame);
// frame.passenger_table_update();
// }
}
});
addPassengerFrame.setVisible(true);
Here we define "Edit","Delete" button with click functionality
private JButton getEditButton(int width, int height) {
editBtn = new JButton(new ImageIcon(((new ImageIcon("images/button40.png")).getImage()).getScaledInstance(160, 40, java.awt.Image.SCALE_SMOOTH)));
editBtn.setContentAreaFilled(false);
editBtn.setBorder(null);
editBtn.setText("EDIT");
editBtn.setHorizontalTextPosition(JButton.CENTER);
editBtn.setVerticalTextPosition(JButton.CENTER);
editBtn.setBounds(width*50/100,height*3/100, width*22/100, height*8/100);
editBtn.setFont(new java.awt.Font("Serif",1, 12));
editBtn.setForeground(Color.white);
editBtn.setVisible(false);
editBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
addPassengerBtn.setVisible(false);
editBtn.setVisible(false);
updateBtn.setVisible(true);
cancleBtn.setVisible(true);
passengerNameField.setText(passengerTable.getValueAt(passengerTable.getSelectedRow(),1).toString());
contactField.setText(passengerTable.getValueAt(passengerTable.getSelectedRow(),2).toString());
emailField.setText(passengerTable.getValueAt(passengerTable.getSelectedRow(),3).toString());
}
});
return editBtn;
}
private JButton getDeleteButton(int width, int height) {
deleteBtn = new JButton(new ImageIcon(((new ImageIcon("images/button40.png")).getImage()).getScaledInstance(width*22/100, height*8/100, java.awt.Image.SCALE_SMOOTH)));
deleteBtn.setContentAreaFilled(false);
deleteBtn.setBorder(null);
deleteBtn.setText("DELETE");
deleteBtn.setHorizontalTextPosition(JButton.CENTER);
deleteBtn.setVerticalTextPosition(JButton.CENTER);
deleteBtn.setBounds(width*75/100,height*3/100, width*22/100, height*8/100);
deleteBtn.setFont(new java.awt.Font("Serif",1, 12));
deleteBtn.setForeground(Color.white);
deleteBtn.setVisible(false);
deleteBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String passenger_id = passengerTable.getValueAt(passengerTable.getSelectedRow(),0).toString();
String passenger_name = passengerTable.getValueAt(passengerTable.getSelectedRow(),1).toString();
System.out.println(passenger_id + "- "+ passenger_name);
conn = SqliteConnection.ConnectDb();
try {
insert = conn.prepareStatement("delete from passenger_detail where passenger_id= ?");
insert.setString(1, passenger_id);
insert.executeUpdate();
conn.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
passenger_table_update();
editBtn.setVisible(false);
deleteBtn.setVisible(false);
}
});
return deleteBtn;
}
Here in this panel we creating a Tabel
" public class AddPassenger implements TableModelListener {"
@Override
public void tableChanged(TableModelEvent e) {
// TODO Auto-generated method stub
int row = e.getFirstRow();
int column = e.getColumn();
TableModel model = (TableModel)e.getSource();
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
System.out.println(columnName+data+"Wrong");
}
private void passenger_table_update() {
int CC;
conn = SqliteConnection.ConnectDb();
try {
insert = conn.prepareStatement("select * from passenger_detail");
ResultSet rs = insert.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
CC = rsmd.getColumnCount();
DefaultTableModel dft = (DefaultTableModel)passengerTable.getModel();
dft.setRowCount(0);
while(rs.next()) {
Vector v2 = new Vector();
for(int ii = 1; ii<=CC; ii++) {
v2.add(rs.getString("passenger_id"));
v2.add(rs.getString("passenger_name"));
v2.add(rs.getString("contact_number"));
v2.add(rs.getString("email_id"));
}
dft.addRow(v2);
}
conn.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
private void passenger_table(int width, int height) {
// TODO Auto-generated method stub
String[] columnNames = {"Passenger Id",
"Passenger Name",
"Contact",
"Email Id"
};
DefaultTableModel model1 = new DefaultTableModel();
sorter2 = new TableRowSorter<>(model1);
model1.setColumnIdentifiers(columnNames);
passengerTable = new JTable(){
public boolean isCellEditable(int row, int column) {
return false;
};
};
passengerTable.setBounds(width*2/100,height*15/100, width*96/100,height*80/100);
passengerTable.setRowSorter(sorter2);
//table.setEnabled(true);
passengerPanel.add(passengerTable);
passengerTable.setModel(model1);
JScrollPane scrollPane1 = new JScrollPane(passengerTable);
scrollPane1.setBounds(width*2/100,height*15/100, width*96/100,height*80/100);
passengerTable.setFillsViewportHeight(true);
passengerPanel.add(scrollPane1);
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
passengerTable.getColumnModel().getColumn(0).setCellRenderer( centerRenderer );
passengerTable.getColumnModel().getColumn(1).setCellRenderer( centerRenderer );
passengerTable.getColumnModel().getColumn(2).setCellRenderer( centerRenderer );
passengerTable.getColumnModel().getColumn(3).setCellRenderer( centerRenderer );
passengerTable.getTableHeader().setFont(new Font("SansSerif", 1, 15));
passengerTable.getTableHeader().setBackground(Color.decode("#f2410a"));
passengerTable.getTableHeader().setForeground(Color.decode("#FFFFFF"));
passengerTable.getTableHeader().setPreferredSize(new Dimension(760, 35));
passengerTable.setRowHeight(25);
passengerTable.getColumnModel().getColumn(0).setPreferredWidth(30);
passengerTable.getColumnModel().getColumn(3).setPreferredWidth(100);
passengerTable.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(passengerTable.getSelectedRow());
editBtn.setVisible(true);
deleteBtn.setVisible(true);
}
});
passenger_table_update();
}
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.