void () { if (trafficLightVisible) { if (showToolbar && myEditor.myView != null) { statusToolbar.setTargetComponent(myEditor.getContentComponent()); VisualPosition pos = myEditor.getCaretModel().getPrimaryCaret().getVisualPosition(); Point point = myEditor.visualPositionToXY(pos); point = SwingUtilities.convertPoint(myEditor.getContentComponent(), point, myEditor.getScrollPane()); JComponent stComponent = statusToolbar.getComponent(); if (stComponent.isVisible()) { Rectangle bounds = SwingUtilities.convertRectangle(stComponent, stComponent.getBounds(), myEditor.getScrollPane()); if (!bounds.isEmpty() && bounds.contains(point)) { cachedToolbarBounds = bounds; stComponent.setVisible(false); smallIconLabel.setVisible(true); } } else if (!cachedToolbarBounds.contains(point)) { stComponent.setVisible(true); smallIconLabel.setVisible(false); } } else { statusToolbar.getComponent().setVisible(false); smallIconLabel.setVisible(true); } } else { statusToolbar.getComponent().setVisible(false); smallIconLabel.setVisible(false); } }