GUI
package Trial;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import com.toedter.calendar.JDateChooser;
import Libs.BookingJDBC;
import Libs.BookingLibs;
import Libs.BookingLibs2;
import Libs.JDBCBooking;
public class Demo {
JTable table1;
DefaultTableModel model;
ArrayList a1;
Object[] columnsName;
JTextField customeridtxt1, cancelbookingtxt;
JDateChooser checkin1, checkout2;
JComboBox bookingtypetxt1;
JButton bookingbtn1;
public Demo() {
JFrame frame = new JFrame();
frame.setSize(950, 550);
frame.setLayout(null);
;
JLabel bookinglbl1 = new JLabel("CANCEL BOOKING");
bookinglbl1.setBounds(80, 30, 250, 35);
bookinglbl1.setFont(new Font("Verdana", Font.BOLD, 18));
frame.add(bookinglbl1);
JLabel customerid1 = new JLabel("Booking ID:");
customerid1.setVisible(false);
customerid1.setBounds(30, 100, 200, 35);
customerid1.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(customerid1);
customeridtxt1 = new JTextField();
customeridtxt1.setVisible(false);
customeridtxt1.setEnabled(false);
customeridtxt1.setBounds(170, 100, 200, 30);
customeridtxt1.setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
customeridtxt1.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(customeridtxt1);
JLabel bookingidlbl = new JLabel("Booking ID:");
bookingidlbl.setBounds(30, 100, 200, 35);
bookingidlbl.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(bookingidlbl);
cancelbookingtxt = new JTextField();
cancelbookingtxt.setBounds(170, 100, 200, 30);
cancelbookingtxt.setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
cancelbookingtxt.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(cancelbookingtxt);
JLabel label1 = new JLabel("Check-In: ");
label1.setBounds(30, 150, 100, 35);
label1.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(label1);
checkin1 = new JDateChooser();
checkin1.setDateFormatString("yyyy-MM-dd");
checkin1.setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
checkin1.setFont(new Font("Verdana", Font.PLAIN, 15));
checkin1.setBounds(170, 150, 200, 30);
frame.add(checkin1);
JLabel checkout1 = new JLabel("Check-out:");
checkout1.setBounds(30, 200, 200, 35);
checkout1.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(checkout1);
checkout2 = new JDateChooser();
checkout2.setDateFormatString("yyyy-MM-dd");
checkout2.setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
checkout2.setFont(new Font("Verdana", Font.PLAIN, 15));
checkout2.setBounds(170, 200, 200, 30);
frame.add(checkout2);
JLabel bookingtype1 = new JLabel("Room Type:");
bookingtype1.setBounds(30, 250, 200, 35);
bookingtype1.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(bookingtype1);
Object[] h2 = { "Single", "Twin", "Double" };
bookingtypetxt1 = new JComboBox(h2);
bookingtypetxt1.setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
bookingtypetxt1.setBounds(170, 250, 200, 30);
bookingtypetxt1.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(bookingtypetxt1);
bookingbtn1 = new JButton("Cancel Booking");
bookingbtn1.setBounds(30, 340, 200, 35);
bookingbtn1.setBackground(new Color(21, 159, 133));
bookingbtn1.setForeground(Color.white);
bookingbtn1.setFont(new Font("Verdana", Font.PLAIN, 18));
frame.add(bookingbtn1);
bookingbtn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == bookingbtn1) {
BookingLibs booking = new BookingLibs();
int cancelbooking = (Integer.parseInt(cancelbookingtxt.getText()));
booking.setBooking_ID(cancelbooking);
JDBCBooking jdbc2 = new JDBCBooking();
boolean result1 = jdbc2.delete(cancelbooking);
if (result1 == true) {
updateTable();
JOptionPane.showMessageDialog(null, "Your booking is cancelled");
} else {
JOptionPane.showMessageDialog(null, "Error");
}
}
}
});
columnsName = new Object[7];
columnsName[0] = "Customer ID";
columnsName[1] = "Name";
columnsName[2] = "Booking ID";
columnsName[3] = "Check-In";
columnsName[4] = "Check-Out";
columnsName[5] = "Room Type";
columnsName[6] = "Room Status";
table1 = new JTable();
model = (DefaultTableModel) table1.getModel();
model.setColumnIdentifiers(columnsName);
updateTable();
JScrollPane scroll1 = new JScrollPane(table1);
scroll1.setBounds(400,20,500,400);
frame.add(scroll1, BorderLayout.CENTER);
frame.setVisible(true);
}
public void updateTable() {
a1 = new BookingJDBC().view_all1();
model.setRowCount(0);
for (BookingLibs2 bookingLibs : a1) {
Object tmpRow[] = { bookingLibs.getCustomer_ID(),
bookingLibs.getName(),
bookingLibs.getBooking_ID(),
bookingLibs.getCheckIn(),
bookingLibs.getCheckOut(),
bookingLibs.getBooking_Type(),
bookingLibs.getBooking_Status()
};
model.addRow(tmpRow);
}
table1 = new JTable(model);
}
public static void main(String[] args) {
new Demo();
}
}
JDBC Library
package Libs;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
public class BookingJDBC {
public ArrayList view_all1() {
Connection conn;
PreparedStatement pstat;
ResultSet rs;
ArrayLista1=new ArrayList();
String sql="SELECT Customer_ID, Name, Booking_ID, CheckIn, CheckOut,Booking_Type, "
+ "Booking_Status FROM booking INNER JOIN customers USING (Customer_ID)"
+ "ORDER BY Booking_ID;";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/hotel_database","root","");
pstat=conn.prepareStatement(sql);
rs=pstat.executeQuery();
while(rs.next()) {
BookingLibs2 booking=new BookingLibs2(rs.getInt("Customer_ID"),
rs.getString("Name"),
rs.getInt("Booking_ID"),
rs.getString("CheckIn"),
rs.getString("CheckOut"),
rs.getString("Booking_Type"),
rs.getString("Booking_Status")
);
a1.add(booking);
}
}
catch(Exception ex) {
System.out.println("Error"+ex.getMessage());
}
return a1;
}
}
Library
package Libs;
public class BookingLibs2 {
int Customer_ID;
String Name;
int Booking_ID;
String CheckIn;
String CheckOut;
String Booking_Type;
String Booking_Status;
public BookingLibs2() {
this.Customer_ID = 0;
this.Name = "";
this.Booking_ID = 0;
this.CheckIn = "";
this.CheckOut = "";
this.Booking_Type = "";
this.Booking_Status = "";
}
public BookingLibs2(int customer_ID, String name, int booking_ID, String checkIn, String checkOut,
String booking_Type, String booking_Status) {
this.Customer_ID = customer_ID;
this.Name = name;
this.Booking_ID = booking_ID;
this.CheckIn = checkIn;
this.CheckOut = checkOut;
this.Booking_Type = booking_Type;
this.Booking_Status = booking_Status;
}
public int getCustomer_ID() {
return Customer_ID;
}
public void setCustomer_ID(int customer_ID) {
Customer_ID = customer_ID;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getBooking_ID() {
return Booking_ID;
}
public void setBooking_ID(int booking_ID) {
Booking_ID = booking_ID;
}
public String getCheckIn() {
return CheckIn;
}
public void setCheckIn(String checkIn) {
CheckIn = checkIn;
}
public String getCheckOut() {
return CheckOut;
}
public void setCheckOut(String checkOut) {
CheckOut = checkOut;
}
public String getBooking_Type() {
return Booking_Type;
}
public void setBooking_Type(String booking_Type) {
Booking_Type = booking_Type;
}
public String getBooking_Status() {
return Booking_Status;
}
public void setBooking_Status(String booking_Status) {
Booking_Status = booking_Status;
}
@Override
public String toString() {
return "BookingLibs2 [Customer_ID=" + Customer_ID + ", Name=" + Name + ", Booking_ID=" + Booking_ID
+ ", CheckIn=" + CheckIn + ", CheckOut=" + CheckOut + ", Booking_Type=" + Booking_Type
+ ", Booking_Status=" + Booking_Status + "]";
}
}
private void update() {
JDBCCustomer jdbc = new JDBCCustomer();
ArrayList select = jdbc.select_all();
model.setRowCount(0);
if (select.size() > 0) {
for (int i = 0; i < select.size(); i++) {
CustomerLibs tmp_person = (CustomerLibs) select.get(i);
Vector tmpPerson = new Vector();
tmpPerson.add(tmp_person.getCustomer_ID());
tmpPerson.add(tmp_person.getTitle());
tmpPerson.add(tmp_person.getName());
tmpPerson.add(tmp_person.getGender());
tmpPerson.add(tmp_person.getDOB());
tmpPerson.add(tmp_person.getMobile());
tmpPerson.add(tmp_person.getEmail());
tmpPerson.add(tmp_person.getAddress());
tmpPerson.add(tmp_person.getUsername());
tmpPerson.add(tmp_person.getPassword());
tmpPerson.add(tmp_person.getCredit_Number());
model.addRow(tmpPerson);
}
}
}
Output