Rate this post

JRootPane là một vùng chứa nhẹ được sử dụng trong hậu trường bởi JFrame, JDialog, JWindow, JApplet và JInternalFrame.

Các bài viết khác:

Giới Thiệu về JRootPane

JRootPane là một thành phần quan trọng trong Java Swing, được sử dụng để tạo ra cửa sổ và quản lý các thành phần con bên trong cửa sổ đó. Nó đóng vai trò là một lớp gốc của một cửa sổ đồ họa trong Java Swing.

JRootPane bao gồm các thành phần chính sau:

  1. Content Pane: Là một thành phần chứa nội dung chính của cửa sổ. Thông thường, bạn sẽ thêm các thành phần như JPanel, JLabel, JButton và các thành phần khác vào Content Pane.
  2. Glass Pane: Là một lớp tràn phủ lên Content Pane và được sử dụng để hiển thị các phần tử đồ họa hoặc hiệu ứng đặc biệt trên cửa sổ.
  3. Layered Pane: Là một lớp chứa các lớp đồ họa và có khả năng hiển thị nhiều lớp trên cùng một vị trí. Điều này cho phép bạn tạo các hiệu ứng đồ họa phức tạp và đồ họa chồng lên nhau.
  4. Menu Bar: Là một thanh menu đặt ở đỉnh cửa sổ và chứa các menu và mục menu.

JRootPane cung cấp các phương thức và thuộc tính để quản lý và tùy chỉnh cửa sổ, bao gồm cấu hình các nút đóng cửa sổ, xử lý sự kiện cửa sổ, quản lý kích thước và vị trí cửa sổ, và nhiều hơn nữa.

Sử dụng JRootPane, bạn có thể tạo ra các cửa sổ đồ họa linh hoạt và tùy chỉnh giao diện của chúng để phù hợp với yêu cầu ứng dụng của bạn.

Xem thêm Truy vấn Plan Cache Commands trong MongoDB

Class lồng nhau

 

Modifier and TypeClassDescription
protected classJRootPane.AccessibleJRootPaneLớp này triển khai hỗ trợ khả năng truy cập cho lớp JRootPane.
protected classJRootPane.RootLayoutTrình quản lý bố cục tùy chỉnh chịu trách nhiệm về bố cục của LayeredPane, glassPane và menuBar.

Fields

Modifier and TypeFieldDescription
static intCOLOR_CHOOSER_DIALOGHằng số được sử dụng cho thuộc tính windowDecorationStyle.
protected JButtoncontentPaneNgăn nội dung.
protected ContainerdefaultButtonNút được kích hoạt khi ngăn có tiêu điểm và hành động dành riêng cho giao diện người dùng như nhấn phím Enter xảy ra.
protected JMenuBarmenuBarThanh menu.
protected ComponentglassPaneÔ kính bao phủ thanh menu và ngăn nội dung, vì vậy nó có thể chặn các chuyển động của chuột và những thứ tương tự.
static intERROR_DIALOGHằng số được sử dụng cho thuộc tính windowDecorationStyle.

Constructor

ConstructorDescription
JRootPane()Tạo JRootPane, thiết lập glassPane, layeredPane và contentPane.

Methods

Modifier and TypeMethodDescription
protected voidaddImpl(Component comp, Object constraints, int index)Ghi đè để thực thi vị trí của thành phần thủy tinh là con 0.
voidaddNotify()Thông báo cho thành phần này rằng nó hiện có một thành phần mẹ.
protected ContainercreateContentPane()Nó được gọi bởi các phương thức khởi tạo để tạo contentPane mặc định.
protected ComponentcreateGlassPane()Nó được gọi bởi các phương thức khởi tạo để tạo ra glassPane mặc định.
AccessibleContextgetAccessibleContext()Nó nhận được AccessibleContext được liên kết với JRootPane này.
JButtongetDefaultButton()Nó trả về giá trị của thuộc tính defaultButton.
voidsetContentPane(Container content)Nó đặt ngăn nội dung – vùng chứa chứa các thành phần được tạo bởi ngăn gốc.
voidsetDefaultButton(JButton defaultButton)Nó đặt thuộc tính defaultButton, xác định nút mặc định hiện tại cho JRootPane này.
voidsetJMenuBar(JMenuBar menu)Nó thêm hoặc thay đổi thanh menu được sử dụng trong ngăn phân lớp.

Cách Sử Dụng JRootPane trong Ứng Dụng

Để sử dụng JRootPane trong ứng dụng Java Swing, bạn cần thực hiện các bước sau:

Tạo một đối tượng JRootPane:

JRootPane rootPane = new JRootPane();

Tạo một đối tượng JFrame để chứa JRootPane:

JFrame frame = new JFrame("Ứng dụng Swing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Thiết lập JRootPane là nội dung chính của JFrame:

frame.setContentPane(rootPane);

Thêm các thành phần con vào JRootPane:

JPanel contentPane = new JPanel(); // Thêm các thành phần như JButton, JLabel, JTextField vào contentPane 
rootPane.setContentPane(contentPane);

Hiển thị JFrame:

frame.pack(); // Tự động điều chỉnh kích thước của JFrame dựa trên nội dung 
frame.setVisible(true);

Bằng cách thực hiện các bước trên, bạn đã tạo một ứng dụng Swing với JRootPane. Bạn có thể thêm các thành phần khác vào JRootPane như cần thiết và tùy chỉnh giao diện của nó bằng cách sử dụng các phương thức và thuộc tính có sẵn trong JRootPane.

Lưu ý rằng JRootPane cũng hỗ trợ việc quản lý thanh trượt dọc và ngang bằng cách sử dụng các phương thức setVerticalScrollBarPolicy()setHorizontalScrollBarPolicy(). Bạn có thể thực hiện các tùy chỉnh này để cho phép cuộn nội dung trong JRootPane khi nó vượt quá kích thước hiển thị của nó.

Xem thêm Java JPopupMenu

Tùy Chỉnh Giao Diện JRootPane

Để tùy chỉnh giao diện của JRootPane trong ứng dụng Java Swing, bạn có thể sử dụng các phương thức và thuộc tính có sẵn trong JRootPane và các thành phần liên quan. Dưới đây là một số cách thường được sử dụng để tùy chỉnh giao diện của JRootPane:

  1. Thiết lập tiêu đề của cửa sổ:rootPane.setWindowDecorationTitle("Tiêu đề của cửa sổ");
  2. Thiết lập biểu tượng của cửa sổ:rootPane.setWindowDecorationIcon(icon);
  3. Ẩn hoặc hiển thị các nút điều khiển cửa sổ (nút đóng, thu nhỏ, phóng to):rootPane.setWindowDecorationStyle(JRootPane.PLAIN_DIALOG); // Hiển thị tất cả các nút điều khiển rootPane.setWindowDecorationStyle(JRootPane.NONE); // Ẩn tất cả các nút điều khiển
  4. Thiết lập vị trí mặc định của cửa sổ:frame.setLocationRelativeTo(null); // Hiển thị cửa sổ ở giữa màn hình
  5. Tùy chỉnh màu nền của JRootPane:rootPane.setBackground(Color.WHITE);
  6. Thay đổi giao diện Look and Feel cho JRootPane và các thành phần con:UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); SwingUtilities.updateComponentTreeUI(rootPane);
  7. Tùy chỉnh kích thước và vị trí của JRootPane và các thành phần con:rootPane.setPreferredSize(new Dimension(800, 600)); rootPane.setBounds(100, 100, 800, 600);

Lưu ý rằng các tùy chỉnh giao diện này có thể được áp dụng không chỉ cho JRootPane mà còn cho các thành phần khác nằm bên trong JRootPane, như Content Pane, Glass Pane và Layered Pane. Bạn có thể sử dụng các phương thức và thuộc tính tương ứng của các thành phần này để tùy chỉnh giao diện chi tiết hơn.

Xem thêm Menu trong website là gì ?

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now