Focus mode

Araç Kiralama Projesi

Kiralanmış İşlerin Yönetimi

Bu bölüme kadar kiralama işlemlerini yönetmek için bir ekran oluşturulmuştu. Bu ekranda arama yapma işlemini gerçekleştirmek için bir tabloya ihtiyaç duyuluyordu. Bu tablo, araçların modellerini, markalarını ve diğer bilgileri içeren bir liste olarak düşünülebilir.

Bu tabloyu oluşturmak için AdminView class’ında bir loadBookTable metodu oluşturulur. Bu sınıfın içinde araç kiralamalarına ait plakalar, marka, model, müşteri bilgileri, başlangıç ve bitiş tarihleri gibi sütunları içeren bir tablo bulunmaktadır.

private void loadBookTable(ArrayList<Object[]> bookList) {
  col_book = new Object[]{"ID", "Plaka", "Araç Marka", "Araç Model", "Müşteri", "Telefon", "Mail", "T.C.", "Başlangıç Tarihi", "Bitiş Tarihi", "Fiyat"};
  if (bookList == null) {
    bookList = this.bookManager.getForTable(col_book.length, this.bookManager.findAll());
  }
  createTable(this.tmdl_book, this.tbl_book, col_book, bookList);
}

Kullanıcı arayüzü tarafında, bir arama işlemi gerçekleştirmek için bir araç seçim kutusu (Combo box) ve bir arama butonu eklenir. Combo box, araç plakalarını içerir ve kullanıcı istediği aracı seçebilir. Ardından, arama butonuna tıklandığında seçilen araca göre tabloyu filtreler ve günceller.

Ayrıca, bir rezervasyonu veya kiralama işlemini iptal etmek için bir pop-up menü oluşturulur. Bu menü, sağ tıklatıldığında görünen bir menüdür. İptal etme seçeneğine tıklandığında, seçili kiralama işlemi silinir ve tablo güncellenir.

this.book_menu.add("İptal Et").addActionListener(e -> {
  if (Helper.confirm("sure")) {
    int selectBookId = this.getTableSelectedRow(this.tbl_book, 0);
    if (this.bookManager.delete(selectBookId)) {
      Helper.showMsg("done");
      loadBookTable(null);
    } else {
      Helper.showMsg("error");
    }
  }
});

Son olarak, bir tarih aralığına göre veya araç modeline göre filtreleme yapabilme özelliği eklenir. Ancak, şu anlık sadece araç plakalarına göre filtreleme örneğini ele aldık.

Örnek olarak, araç plakalarına göre arama işlemi yapılsın. Bu işlem, Combo box'tan seçilen araç plakasına göre tabloyu günceller. Kullanıcı, istediği aracı seçer, ardından arama butonuna tıklar ve tabloda sadece seçilen araca ait kiralama işlemleri görüntülenir.

this.btn_cncl_book.addActionListener(e -> {
      loadBookFilterCar();
    });

Bu adımları takip ederek, araç kiralama sistemi daha kullanıcı dostu ve işlevsel hale getirilebilir.

Comments

You need to enroll in the course to be able to comment!