setName("HTML");
    public HTMLPanel() {        initComponents();                // a special editor kit that overrides all elements that would lead to loading from the server        // e.g. frames, images, applets, objects, etc. This is because we don't know what the right        // base URL is, and we don't actually want to reload the pages anyway.        // if there are tags that still cause requests to the server, override them in MyHTMLEditorKit        htmlEditorPane.setEditorKit(new MyHTMLEditorKit());                Keymap keymap = htmlEditorPane.addKeymap("MySearchBindings",        htmlEditorPane.getKeymap());        //Ctrl-f to open the search dialog        keymap.addActionForKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_F, Event.CTRL_MASK), new AbstractAction() {            public void actionPerformed(ActionEvent event) {                if (_searchDialog == null) {                    Container c = htmlScrollPane;                    while (! (c instanceof JFrame) && c.getParent() != null) {                        c = c.getParent();                    }                    if (c instanceof JFrame) {                        _searchDialog = new SearchDialog((JFrame) c, false);                        _searchDialog.setSearchTextComponent(htmlEditorPane);                    } else {                        System.err.println("No JFrame parent found!");                        return;                    }                }                _searchDialog.show();            }        });        keymap.addActionForKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_G, Event.CTRL_MASK), new AbstractAction() {            public void actionPerformed(ActionEvent event) {                if (_searchDialog != null) {                    _searchDialog.doSearch();                }            }        });                        htmlEditorPane.setKeymap(keymap);        htmlEditorPane.addHyperlinkListener(new HTMLPanel.LinkToolTipListener());    }