void () { String text = null; tooltipowner = null; String classname = getClass(mouseinside); if ((classname == "tabbedpane") || (classname == "menubar") || (classname == "popupmenu")) { if (insidepart != null) { text = getString(insidepart, "tooltip", null); } } else if (classname == "combolist") { if (insidepart instanceof Object[]) { text = getString(insidepart, "tooltip", null); } } //list table tree if (text == null) { text = getString(mouseinside, "tooltip", null); } else { tooltipowner = insidepart; } if (text != null) { FontMetrics fm = getFontMetrics(getFont()); int width = fm.stringWidth(text) + 4; int height = fm.getAscent() + fm.getDescent() + 4; if (tooltipowner == null) { tooltipowner = mouseinside; } setRectangle(tooltipowner, "tooltipbounds", mousex + 10, mousey + 10, width, height); repaint(mousex + 10, mousey + 10, width, height); } }