public void setSize(int width, int height) {
   if (myViewBounds != null) {
     myViewBounds.setSize(width, height);
   } else {
     setBounds(null, new Dimension(width, height));
   }
 }
 public void setLocation(int x, int y) {
   if (myViewBounds != null) {
     myViewBounds.setLocation(x, y);
   } else {
     setBounds(new Point(x, y), null);
   }
 }
 public void setBounds(int x, int y, int width, int height) {
   if (myViewBounds != null) {
     myViewBounds.setBounds(x, y, width, height);
   } else {
     setBounds(new Point(x, y), new Dimension(width, height));
   }
 }
  private void doHandleSelectionChange(@NotNull KeyType selected, boolean processIfUnfocused) {
    if (!isHandleSelectionEnabled(selected, processIfUnfocused)) {
      hideHint();
      return;
    }

    myKey = selected;

    Point location = createToolTipImage(myKey);

    if (location == null) {
      hideHint();
    } else {
      Rectangle bounds = new Rectangle(location, myTipComponent.getPreferredSize());
      myPopup.setBounds(bounds);
      myPopup.setVisible(noIntersections(bounds));
      repaintKeyItem();
    }
  }
 public void setBounds(@NotNull Rectangle bounds) {
   setBounds(bounds.x, bounds.y, bounds.width, bounds.height);
 }