Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

CÔNG TY TNHH DỊCH VỤ VÀ CÔNG NGHỆ TITV Số 7 Đường 6, KDC Cityland Park Hills, Phường 10, Quận Gò Vấp, Thành phố Hồ Chí Minh Email: [email protected], ĐT: 0832469022 Mã số doanh nghiệp 0318079717, cấp ngày 05/10/2023, cấp bởi Sở Kế Hoạch Và Đầu Tư Thành Phố Hồ Chí Minh - Phòng Đăng Ký Kinh Doanh.

Các thành phần swing nâng cao (Advance Swing Controls) kế tiếp bài học của bài các thành phần cơ bản trong Swing. Trong bài học này, chúng tôi sẽ giới thiệu đến bạn đọc các thành phần Swing nâng cao như JTabbedPane, JList, JTable, JTree, JColorChooser.

Các thành phần này là gì và cách sử dụng như thế nào, mời các bạn đi vào nội dung chi tiết bên dưới cùng với R2S nhé.

JTabbedPane của các thành phần swing nâng cao

JTabbedPane là một thành phần UI trong Java Swing được sử dụng để tạo và quản lý các tab đa cửa sổ trong một ứng dụng. Nó cung cấp một điều hướng dễ dùng cho người dùng để chuyển đổi giữa các nội dung khác nhau được hiển thị trên mỗi tab.

Mỗi tab trong JTabbedPane có thể chứa các thành phần UI khác, như các nút bấm, bảng dữ liệu, form… Người dùng có thể nhấp chuột vào tiêu đề tab để chuyển đổi giữa các tab hoặc sử dụng phím tắt tương ứng. Hình ảnh bên dưới là một ví dụ về Tabbed Pane

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Tạo Tabbed Pane với NetBeans

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Thêm Panel vào Tabbed Pane

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Sau khi thêm Panel vào, chúng ta sẽ tiến hành thiết kế giao diện bằng cách chọn các thành phần trong Swing Controls và đặt vào Panel. Nếu bạn muốn thêm một Panel khác vào Tabbed Pane thì cách thực hiện giống như lúc thêm Panel đầu tiên.

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Thay đổi text cho tab

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

JList của các thành phần swing nâng cao

JList là một thành phần giao diện người dùng trong Java Swing được sử dụng để hiển thị danh sách các mục có thể được chọn hoặc không được chọn. Nó cung cấp giao diện để người dùng lựa chọn một hoặc nhiều mục từ danh sách. JList hỗ trợ các chức năng thêm, xóa, sắp xếp và cuộn dọc danh sách.

JList được sử dụng để hiển thị một số nhóm các item. Và nó cho phép chúng ta chọn một hoặc nhiều item. Các item trong JList được hiển thị trong một dòng hoặc nhiều dòng.

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Đăng ký sự kiện cho JList

Chuột phải vào JList -> chọn Events -> chọn ListSelection -> chọn valueChanged

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Lấy dữ liệu của dòng đã được chọn trong JList

<String data = (String)jList2.getSelectedValue();>

Trong đó jList2 là tên của JList, data là biến chứa dữ liệu của dòng được chọn

JTable của các thành phần swing nâng cao

JTable là một thành phần đồ họa trong Java Swing được sử dụng để hiển thị dữ liệu dưới dạng bảng có dạng lưới. Nó cho phép hiển thị dữ liệu từ các nguồn dữ liệu như các mảng, danh sách, cơ sở dữ liệu, và cung cấp các tính năng như sắp xếp, lọc, và chỉnh sửa dữ liệu.

JTable cung cấp một giao diện người dùng tương tác với dữ liệu bằng cách cho phép chọn, chọn nhiều dòng hoặc cột, sửa đổi giá trị ô dữ liệu, và kéo thả để sắp xếp lại hoặc di chuyển các hàng và cột.

Tạo JTable sử dụng NetBeans

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Đăng ký sự kiện cho JTable

Chuột phải vào JTable -> chọn Events -> chọn Mouse -> chọn mouseClicked

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Lấy dữ liệu của ô được chọn trong JTable

<int col = jTable2.getSelectedColumn();
int row = jTable2.getSelectedRow();
String data = (String)jTable2.getValueAt(row, col);>

Trong đó jTable2 là tên của JTable, data là biến chứa dữ liệu của ô được chọn

JTree của các thành phần swing nâng cao

JTree là một thành phần trong thư viện Swing của Java, được sử dụng để hiển thị dữ liệu dưới dạng cây. Nó cung cấp một giao diện người dùng trực quan để tạo, chỉnh sửa và xem dữ liệu cây. JTree cho phép bạn tự định nghĩa các nút và liên kết chúng với nhau để tạo thành một cây phân cấp. JTree thường được sử dụng để hiển thị ra hệ thống tập tin của hệ điều hành hoặc hệ thống phân cấp của một tổ chức, …

JTree hiển thị dữ liệu theo chiều dọc, mỗi dòng chỉ chứa một item được gọi là node. Mỗi JTree phải có một node gốc (root node) ở trên cùng, tất cả các node khác đi xuống từ node gốc.

Tạo JTree sử dụng NetBeans

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Đăng ký sự kiện cho JTree

Chuột phải vào JTree -> chọn Events -> chọn Mouse -> chọn mouseClicked

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Lấy đường dẫn của một node trong JTree

TreePath tp = jTree1.getPathForLocation(evt.getX(), evt.getY());
if (tp!=null) {
 String path = tp.toString();
}

Trong đó jTree1 là tên của JTree, path là biến chứa đường dẫn của node được chọn

JColorChooser của các thành phần swing nâng cao

JColorChooser là một thành phần trong thư viện Swing của Java, được sử dụng để cho phép người dùng chọn màu sắc từ một bảng màu. Nó cung cấp một giao diện người dùng trực quan để chọn màu sắc và trả về giá trị màu đã chọn. JColorChooser cho phép bạn tạo các bảng màu tùy chỉnh và điều chỉnh các thuộc tính màu sắc như màu chữ, màu nền và màu viền.

Có 2 cách để tạo ra JColorChooser trong NetBeans đó là sử dụng chế độ Design và kéo JColorChooser từ Swing Windows của Palette. Hai là sử dụng code để hiển thị ra JColorChooser khi người dùng click vào button hoặc textfield, …Lập trình viên sử dụng cách nào còn phải tuỳ thuộc vào yêu cầu cụ thể.

Cách 1: Sử dụng chế độ Design

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Đăng ký sự kiện cho JColorChooser với cách 1

Bước 1: Cài đặt giao tiếp ChangeListener tại class có sử dụng thành phần JColorChooser

public class YourClassName extends implements ChangeListener

Bước 2: Đăng ký sự kiện cho JColorChooser

jColorChooser1.getSelectionModel().addChangeListener(this);

Trong đó jColorChooser1 là tên của JColorChooser

Bước 3: Viết cách xử lý cho phương thức stateChanged (Đây là phương thức của giao tiếp ChangeListener)

@Override
public void stateChanged(ChangeEvent e) {
 //Lấy màu mà người dùng đã chọn từ JColorChooser
 Color c = jColorChooser1.getColor();
}

Cách 2: Viết code

//Tạo đối tượng JColorChooser
JColorChooser jcc = new JColorChooser();
//Hiển thị hộp thoại
//Color showDialog(Component component,String title, Color initialColor);
//Màu mà người dùng chọn được chứa trong biến c
Color c =jcc.showDialog(this, "Color dialog", Color.yellow);

Bài tập thực hành của các thành phần swing nâng cao

Thiết kế giao diện và cài đặt xử lý cho ứng dụng sau đây

Tab thứ nhất (Login)

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Tab thứ hai (Main form)

Hướng dẫn kéo thả trong java swing quản lý sách năm 2024

Kết luận các thành phần swing nâng cao

Như vậy, qua bài viết về các thành phần swing nâng cao trên đây, R2S chúng tôi đã giúp bạn hiểu được về JTabbedPane, JList, JTable, JTree, JColorChooser.

Đừng quên bỏ lỡ bất cứ bài viết nào của chúng tôi để học thêm nhiều kiến thức hữu ích về lập trình giao diện trong lập trình java nhé.

Hãy đến website của R2S để tìm hiểu sâu hơn vào lập trình và công nghệ thông tin để có thêm nhiều kiến thức hay về nó hơn nha.