Menu trong Java Swing
Menu trong Java Swing
Trong Java Swing, menu được sử dụng để hiển thị danh sách các tùy chọn cho người dùng. Menu có thể được tạo thành từ các mục và mục con, tạo thành một menu đa cấp có thể được mở rộng và thu gọn. Java Swing cung cấp các lớp JMenu, JMenuBar và JMenuItem để tạo và quản lý các menu.
Menu trong Java Swing là gì?
Menu trong Java Swing là một thành phần được sử dụng để hiển thị một danh sách các tùy chọn hoặc lệnh mà người dùng có thể chọn để thực hiện các hành động cụ thể. Menu được tổ chức thành các mục và các mục con, tạo thành một menu đa cấp có thể được mở rộng và thu gọn tùy theo nhu cầu. [1]
Menu trong Java Swing được đại diện bởi lớp JMenu. Mỗi mục trong menu được đại diện bởi lớp JMenuItem. Mục con có thể được thêm vào một menu bằng cách sử dụng phương thức add() hoặc addSeparator() của lớp JMenu. Khi người dùng chọn một mục trong menu, sự kiện actionPerformed được kích hoạt để xử lý hành động tương ứng.
Khi chúng ta click vào chuột phải (right-click) trên màn hình, một Menu chứa các Menu Item sẽ xuất hiện bên cạnh nơi chúng ta nhấp chuột và nó được gọi là Popup Menu. Hình ảnh bên dưới là một ví dụ về Menu trong java swing.
Hãy cùng tìm hiểu những thông tin, cú pháp để hiểu hơn về menu trong java swing này trong bài viết dưới đây cùng R2S nhé!
JMenuBar của menu trong java swing
JMenuBar là một thành phần trong Java Swing được sử dụng để tạo và hiển thị thanh menu trong giao diện người dùng. Nó chứa các JMenu và JMenuItem để tạo các menu và các mục menu tương ứng.
JMenuBar cung cấp một giao diện trực quan để người dùng tương tác với ứng dụng và thực hiện các chức năng khác nhau.
Tạo menu bar trong NetBeans
Lưu ý: Mặc định có 2 Menu được tạo là File và Edit.
JMenu của menu trong java swing
JMenu là một class được sử dụng để tạo một menu trên thanh menu. Khi chúng ta click vào JMenu, nó sẽ hiển thị ra một hoặc nhiều item. Và để thêm JMenu vào JMenuBar, chúng ta sử dụng phương thức add() của lớp JMenuBar.
Tạo menu trong NetBeans
Thay đổi text cho Menu
JMenuItem của menu trong java swing
JMenuItem là một class được sử dụng để tạo một item và gắn vào JMenu. Khi người dùng click vào một menu item, nó sẽ phát sinh ra một sự kiện là performed. Điều này giống như JButton mà chúng ta đã được tìm hiểu ở bài học giới thiệu về Swing.
Tạo menu item trong NetBeans
Tuỳ chỉnh menu item
Lưu ý chúng ta có thể tạo sub menu bằng cách trong menu gắn thêm một menu khác. Hình ảnh bên dưới là một ví dụ
Đăng ký sự kiện cho Menu item (Cách đăng ký được thực hiện giống như Button)
JPopupMenu của menu trong java swing
JPopupMenu là một thành phần trong Java Swing được sử dụng để hiển thị một menu nổi lên khi người dùng right click vào một container như JFrame, JPanel, … Trong JPopupMenu cũng chứa các menu item cho phép người dùng lựa chọn.
JPopupMenu chứa một số lượng JMenuItem hoặc các thành phần khác để tạo thành một menu đa cấp có thể được hiển thị và thao tác bởi người dùng.
Tạo popup menu trong NetBeans
Trong cửa sổ Navigator xuất hiện JPopupMenu
Thiết kế popup menu
Đăng ký và xử lý sự kiện cho popup menu
Viết xử lý cho phương thức formMouseReleased mà NetBeans đã phát sinh code
<private void formMouseReleased(java.awt.event.MouseEvent evt) {
if(evt.isPopupTrigger()) {
jPopupMenu2.show(this, evt.getX(), evt.getY());
}
}>
Lưu ý jPopupMenu2 là tên của JPopupMenu mà chúng ta đã tạo ra trong quá trình thiết kế
Khi chạy ứng dụng và right click vào một vị trí bất kỳ trong JFrame, chúng ta sẽ thấy kết quả như hình ảnh sau
Đăng ký sự kiện cho Menu item:thực hiện giống như Button
JToolBar của menu trong java swing
JToolBar là một thành phần trong Java Swing được sử dụng để hiển thị các công cụ và các nút điều khiển trên một thanh công cụ ngang. Nó cho phép người dùng truy cập nhanh đến các chức năng phổ biến và thao tác trên các thành phần khác trong giao diện người dùng.
JToolBar thường được đặt ở vị trí trên cùng hoặc dưới cùng của cửa sổ ứng dụng và có thể chứa các JButton, JTextField và các thành phần khác. Người dùng có thể tùy chỉnh và di chuyển JToolBar trong ứng dụng để thích nghi với nhu cầu sử dụng của mình.
Hình bên dưới là cách tạo tool bar trong NetBeans
Thiết lập icon cho button trong tool bar
Các bạn có thể tải bộ icon cho button
JFileChooser của menu trong java swing
JFileChooser là một hộp thoại chuẩn được sử dụng để cho phép người dùng lựa chọn một thư mục hoặc một tệp tin. Có 3 loại hộp thoại tương ứng với 3 phương thức của lớp JFileChooser được liệt kê trong bảng sau đây
Phương thức | Hộp thoại |
public int showSaveDialog(Component parent) | Lưu file |
public int showOpenDialog(Component parent) | Mở file |
public int showDialog(Component parent, String approveButtonLabel) | Được phép tùy chỉnh cho nút OK |
Xử lý mẫu cho hộp thoại lưu file (showSaveDialog)
(Lưu ý thay phần in đậm màu đỏ thành phần nội dung mà bạn muốn lưu xuống file)
private void saveAction() {
JFileChooser jfc = new JFileChooser();
int ret = jfc.showSaveDialog(this);
File f = null;
if (ret == JFileChooser.APPROVE_OPTION) {
f = jfc.getSelectedFile();
} else {
return;
}
try {
FileWriter fw = new FileWriter(f);
fw.write("Nội dung mà chúng ta muốn lưu");
fw.flush();
fw.close();
JOptionPane.showMessageDialog(this, "Saved data successfully");
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.toString());
}
}
Xử lý mẫu cho hộp thoại mở file (showOpenDialog)
(Lưu ý dữ liệu sau khi đọc từ file đang được chứa trong biến data và phần in đậm màu đỏ)
private void openAction() {
JFileChooser jfc = new JFileChooser();
int ret = jfc.showOpenDialog(this);
File f = null;
if (ret == JFileChooser.APPROVE_OPTION) {
f = jfc.getSelectedFile();
} else {
return;
}
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String data = br.readLine();
fr.close();
br.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.toString());
}
}
Một số bài tập thực hành của menu trong java swing
Câu 1: Thiết kế giao diện của ứng dụng
File menu
Setting menu
Help menu
Câu 2: Viết xử lý
2.1. Khi người dùng chọn Open menu, thì sẽ hiển thị hộp thoại cho phép người dùng chọn một tập tin txt và đọc nội dung tập tin đó hiển thị ra trên màn hình
2.2. Khi người dùng chọn Exit menu, thì ứng dụng sẽ bị đóng (Ứng dụng sẽ hiển thị hộp thoại xác nhận hay không còn tùy thuộc vào Confirm exit menu có được chọn hay không?)
2.3. Popup menu sẽ cho phép người dùng thiết lập màu chữ và đóng ứng dụng
2.4. Khi người dùng chọn nút “Save“, ứng dụng sẽ hiển thị ra hộp thoại cho phép người dùng lựa chọn nơi lưu tập tin.
2.5 Xử lý tool bar
Hộp thoại sẽ xác nhận khi đóng ứng dụng. Ứng dụng sẽ bị đóng khi người dùng chọn Yes.
2.6. Xử lý cho Setting menu
Confirm exit, Red và Blue xử lý giống như Confirm exit của tool bar và Red/Blue của popup menu
Kết luận
Như vậy, qua bài viết về Menu trong Java Swing trên đây, R2S chúng tôi đã giúp bạn hiểu được về JMenuBar, JMenuBar, JMenuItem, JPopupMenu, JToolBar, JFileChooser
Đừ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ó 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