jxbrowser 实现自定义右键菜单 jxbrowser破解版请联系作者

QQ 921888199
【jxbrowser 实现自定义右键菜单 jxbrowser破解版请联系作者】jxbrowser 实现自定义右键菜单 jxbrowser破解版请联系作者
文章图片

public static void main(String[] args) { JPopupMenu.setDefaultLightWeightPopupEnabled(false); Browser browser = new Browser(); BrowserView view = new BrowserView(browser); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(view, BorderLayout.CENTER); frame.setSize(700, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); browser.setContextMenuHandler(new MyContextMenuHandler(view)); browser.loadURL("http://baidu.com"); }private static class MyContextMenuHandler implements ContextMenuHandler {private final JComponent component; private MyContextMenuHandler(JComponent parentComponent) { this.component = parentComponent; }public void showContextMenu(final ContextMenuParams params) { final JPopupMenu popupMenu = new JPopupMenu(); if (!params.getLinkText().isEmpty()) { popupMenu.add(createMenuItem("打开新窗口", new Runnable() { public void run() { String linkURL = params.getLinkURL(); System.out.println("linkURL = " + linkURL); } })); }final Browser browser = params.getBrowser(); popupMenu.add(createMenuItem("刷新网页", new Runnable() { public void run() { browser.reload(); } })); final Point location = params.getLocation(); SwingUtilities.invokeLater(new Runnable() { public void run() { popupMenu.show(component, location.x, location.y); } }); }private static JMenuItem createMenuItem(String title, final Runnable action) { JMenuItem reloadMenuItem = new JMenuItem(title); reloadMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { action.run(); } }); return reloadMenuItem; } }


    推荐阅读