Các thành phần swing nâng cao
Các thành phần swing nâng cao
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
Tạo Tabbed Pane với NetBeans
Thêm Panel vào Tabbed Pane
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.
Thay đổi text cho tab
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.
Đăng ký sự kiện cho JList
Chuột phải vào JList -> chọn Events -> chọn ListSelection -> chọn valueChanged
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
Đăng ký sự kiện cho JTable
Chuột phải vào JTable -> chọn Events -> chọn Mouse -> chọn mouseClicked
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
Đăng ký sự kiện cho JTree
Chuột phải vào JTree -> chọn Events -> chọn Mouse -> chọn mouseClicked
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
Đă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)
Tab thứ hai (Main form)
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.
Bài viết gốc được đăng tải tại giasutinhoc.vn