Rate this post

PopupMenu có thể được bật lên một cách tự động tại vị trí cụ thể trong một thành phần. Nó kế thừa lớp JComponent.

Các bài viết liên quan:

Khai báo lớp JPopupMenu

Hãy xem phần khai báo cho lớp javax.swing.JPopupMenu.

public class JPopupMenu extends JComponent implements Accessible, MenuElement  

Các trình xây dựng thường được sử dụng:

ConstructorDescription
JPopupMenu()Tạo JPopupMenu mà không có “invoker”.
JPopupMenu(String label)Tạo JPopupMenu với tiêu đề được chỉ định.
Modifier and TypePhương pháp và Mô tả
JMenuItemadd(Action a)Thêm một mục menu mới vào cuối menu để gửi Actionđối tượng được chỉ định.
JMenuItemadd(JMenuItem menuItem)Thêm mục menu đã chỉ định vào cuối menu này.
JMenuItemadd(String s)Tạo một mục menu mới với văn bản được chỉ định và gắn nó vào cuối menu này.
voidaddMenuKeyListener(MenuKeyListener l)Thêm a MenuKeyListenervào menu bật lên.
voidaddPopupMenuListener(PopupMenuListener l)Thêm PopupMenungười nghe.
voidaddSeparator()Thêm dấu phân tách mới ở cuối menu.
protected PropertyChangeListenercreateActionChangeListener(JMenuItem b)Trả về một cấu hình đúng PropertyChangeListener để cập nhật điều khiển khi các thay đổi Actionxảy ra.
protected JMenuItemcreateActionComponent(Action a)Phương thức nhà máy tạo ra JMenuItemcho Actionsđược thêm vào JPopupMenu.
protected voidfirePopupMenuCanceled()Thông báo PopupMenuListenersrằng menu bật lên này đã bị hủy.
protected voidfirePopupMenuWillBecomeInvisible()Thông báo PopupMenuListenercho s rằng menu bật lên này sẽ trở nên vô hình.
protected voidfirePopupMenuWillBecomeVisible()Thông báo PopupMenuListenercho s rằng menu bật lên này sẽ hiển thị.
AccessibleContextgetAccessibleContext()Nhận AccessibleContext được liên kết với JPopupMenu này.
ComponentgetComponent()Trả về JPopupMenuthành phần này.
ComponentgetComponentAtIndex(int i)Không được chấp nhận. được thay thế bởiContainer.getComponent(int)
intgetComponentIndex(Component c)Trả về chỉ mục của thành phần được chỉ định.
ComponentgetInvoker()Trả về thành phần là ‘kẻ xâm lược’ của menu bật lên này.
StringgetLabel()Trả về nhãn của menu bật lên
InsetsgetMargin()Trả về lề, tính bằng pixel, giữa đường viền của menu bật lên và vùng chứa của nó.
MenuKeyListener[]getMenuKeyListeners()Trả về một mảng của tất cả các MenuKeyListeners được thêm vào JPopupMenu này bằng addMenuKeyListener ().
PopupMenuListener[]getPopupMenuListeners()Trả về một mảng gồm tất cả các PopupMenuListeners được thêm vào JMenuItem này với addPopupMenuListener ().
SingleSelectionModelgetSelectionModel()Trả về đối tượng mô hình xử lý các lựa chọn đơn lẻ.
MenuElement[]getSubElements()Trả về một mảng MenuElements chứa menu con cho thành phần menu này.
PopupMenuUIgetUI()Trả về giao diện (L&F) đối tượng hiển thị thành phần này.
StringgetUIClassID()Trả về tên của lớp L&F hiển thị thành phần này.
voidinsert(Action a, int index)Chèn một mục menu cho Actionđối tượng được chỉ định tại một vị trí nhất định.
voidinsert(Component component, int index)Chèn thành phần được chỉ định vào menu ở một vị trí nhất định.
booleanisBorderPainted()Kiểm tra xem có nên sơn đường viền hay không.
booleanisLightWeightPopupEnabled()Nhận lightWeightPopupEnabledtài sản.
booleanisPopupTrigger(MouseEvent e)Trả về true nếu MouseEventđược coi là trình kích hoạt cửa sổ bật lên bởi JPopupMenugiao diện người dùng hiện được cài đặt.
booleanisVisible()Trả về true nếu menu bật lên hiển thị (hiện đang được hiển thị).
voidmenuSelectionChanged(boolean isIncluded)Thông báo khi lựa chọn thanh menu thay đổi để kích hoạt hoặc hủy kích hoạt menu này.
voidpack()Đặt vùng chứa ra sao cho nó sử dụng không gian tối thiểu cần thiết để hiển thị nội dung của nó.
protected voidpaintBorder(Graphics g)Vẽ đường viền của menu bật lên nếu thuộc borderPainted tính đó true.
protected StringparamString()Trả về một biểu diễn chuỗi của điều này JPopupMenu.
protected voidprocessFocusEvent(FocusEvent evt)Xử lý các sự kiện tiêu điểm xảy ra trên thành phần này bằng cách điều động chúng đến bất kỳ FocusListenerđối tượng đã đăng ký nào.
protected voidprocessKeyEvent(KeyEvent evt)Xử lý các sự kiện đột quỵ chính như ghi nhớ và máy gia tốc.
voidprocessKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)Xử lý một sự kiện chính được chuyển tiếp từ MenuSelectionManagervà thay đổi lựa chọn menu, nếu cần, bằng cách sử dụng MenuSelectionManagerAPI của.
voidprocessMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)Phương thức này được yêu cầu để phù hợp với MenuElementgiao diện, nhưng nó không được triển khai.
voidremove(int pos)Xóa thành phần tại chỉ mục được chỉ định khỏi menu bật lên này.
voidremoveMenuKeyListener(MenuKeyListener l)Xóa a MenuKeyListenerkhỏi menu bật lên.
voidremovePopupMenuListener(PopupMenuListener l)Xóa một PopupMenungười nghe.
voidsetBorderPainted(boolean b)Đặt xem có nên sơn đường viền hay không.
voidsetInvoker(Component invoker)Đặt người gọi của menu bật lên này – thành phần mà menu menu bật lên sẽ được hiển thị.
voidsetLabel(String label)Đặt nhãn của menu bật lên.
voidsetLightWeightPopupEnabled(boolean aFlag)Đặt giá trị của thuộc lightWeightPopupEnabledtính, theo mặc định là true.
voidsetLocation(int x, int y)Đặt vị trí của góc trên bên trái của menu bật lên bằng cách sử dụng tọa độ x, y.
voidsetPopupSize(Dimension d)Đặt kích thước của cửa sổ Popup bằng cách sử dụng một Dimensionđối tượng.
voidsetPopupSize(int width, int height)Đặt kích thước của cửa sổ Popup thành chiều rộng và chiều cao được chỉ định.
voidsetSelected(Component sel)Đặt thành phần hiện được chọn, Điều này sẽ dẫn đến sự thay đổi đối với mô hình lựa chọn.
voidsetSelectionModel(SingleSelectionModel model)Đặt đối tượng mô hình để xử lý các lựa chọn đơn lẻ.
voidsetUI(PopupMenuUI ui)Đặt đối tượng L&F hiển thị thành phần này.
voidsetVisible(boolean b)Đặt khả năng hiển thị của menu bật lên.
voidshow(Component invoker, int x, int y)Hiển thị menu bật lên ở vị trí x, y trong không gian tọa độ của trình gọi thành phần.
voidupdateUI()Đặt lại thuộc tính giao diện người dùng thành một giá trị từ giao diện 

Java JPopupMenu Example

Output:

Java JPopupMenu Example with MouseListener and ActionListener

Output:

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