736 while (!(component instanceof Frame)) { 737 component = component.getParent(); 738 } 739 return (Frame)component; 740 } 741 742 private FocusListener createFocusChangeListener(){ 743 return new FocusAdapter(){ 744 public void focusLost(FocusEvent evt){ 745 hideTipWindow(); 746 insideComponent = null; 747 JComponent c = (JComponent)evt.getSource(); 748 c.removeFocusListener(focusChangeListener); 749 } 750 }; 751 } 752 753 // Returns: 0 no adjust 754 // -1 can't fit 755 // >0 adjust value by amount returned 756 private int getPopupFitWidth(Rectangle popupRectInScreen, Component invoker){ 757 if (invoker != null){ 758 Container parent; 759 for (parent = invoker.getParent(); parent != null; parent = parent.getParent()){ 760 // fix internal frame size bug: 4139087 - 4159012 761 if(parent instanceof JFrame || parent instanceof JDialog || 762 parent instanceof JWindow) { // no check for awt.Frame since we use Heavy tips 763 return getWidthAdjust(parent.getBounds(),popupRectInScreen); 764 } else if (parent instanceof JApplet || parent instanceof JInternalFrame) { 765 if (popupFrameRect == null){ 766 popupFrameRect = new Rectangle(); 767 } 768 Point p = parent.getLocationOnScreen(); 769 popupFrameRect.setBounds(p.x,p.y, 770 parent.getBounds().width, 771 parent.getBounds().height); 772 return getWidthAdjust(popupFrameRect,popupRectInScreen); 773 } 774 } 775 } 776 return 0; 777 } 778 779 // Returns: 0 no adjust 780 // >0 adjust by value return 781 private int getPopupFitHeight(Rectangle popupRectInScreen, Component invoker){ 782 if (invoker != null){ 783 Container parent; 784 for (parent = invoker.getParent(); parent != null; parent = parent.getParent()){ 785 if(parent instanceof JFrame || parent instanceof JDialog || 786 parent instanceof JWindow) { 787 return getHeightAdjust(parent.getBounds(),popupRectInScreen); 788 } else if (parent instanceof JApplet || parent instanceof JInternalFrame) { 789 if (popupFrameRect == null){ 790 popupFrameRect = new Rectangle(); 791 } 792 Point p = parent.getLocationOnScreen(); 793 popupFrameRect.setBounds(p.x,p.y, 794 parent.getBounds().width, 795 parent.getBounds().height); 796 return getHeightAdjust(popupFrameRect,popupRectInScreen); 797 } 798 } 799 } 800 return 0; | 736 while (!(component instanceof Frame)) { 737 component = component.getParent(); 738 } 739 return (Frame)component; 740 } 741 742 private FocusListener createFocusChangeListener(){ 743 return new FocusAdapter(){ 744 public void focusLost(FocusEvent evt){ 745 hideTipWindow(); 746 insideComponent = null; 747 JComponent c = (JComponent)evt.getSource(); 748 c.removeFocusListener(focusChangeListener); 749 } 750 }; 751 } 752 753 // Returns: 0 no adjust 754 // -1 can't fit 755 // >0 adjust value by amount returned 756 @SuppressWarnings("deprecation") 757 private int getPopupFitWidth(Rectangle popupRectInScreen, Component invoker){ 758 if (invoker != null){ 759 Container parent; 760 for (parent = invoker.getParent(); parent != null; parent = parent.getParent()){ 761 // fix internal frame size bug: 4139087 - 4159012 762 if(parent instanceof JFrame || parent instanceof JDialog || 763 parent instanceof JWindow) { // no check for awt.Frame since we use Heavy tips 764 return getWidthAdjust(parent.getBounds(),popupRectInScreen); 765 } else if (parent instanceof JApplet || parent instanceof JInternalFrame) { 766 if (popupFrameRect == null){ 767 popupFrameRect = new Rectangle(); 768 } 769 Point p = parent.getLocationOnScreen(); 770 popupFrameRect.setBounds(p.x,p.y, 771 parent.getBounds().width, 772 parent.getBounds().height); 773 return getWidthAdjust(popupFrameRect,popupRectInScreen); 774 } 775 } 776 } 777 return 0; 778 } 779 780 // Returns: 0 no adjust 781 // >0 adjust by value return 782 @SuppressWarnings("deprecation") 783 private int getPopupFitHeight(Rectangle popupRectInScreen, Component invoker){ 784 if (invoker != null){ 785 Container parent; 786 for (parent = invoker.getParent(); parent != null; parent = parent.getParent()){ 787 if(parent instanceof JFrame || parent instanceof JDialog || 788 parent instanceof JWindow) { 789 return getHeightAdjust(parent.getBounds(),popupRectInScreen); 790 } else if (parent instanceof JApplet || parent instanceof JInternalFrame) { 791 if (popupFrameRect == null){ 792 popupFrameRect = new Rectangle(); 793 } 794 Point p = parent.getLocationOnScreen(); 795 popupFrameRect.setBounds(p.x,p.y, 796 parent.getBounds().width, 797 parent.getBounds().height); 798 return getHeightAdjust(popupFrameRect,popupRectInScreen); 799 } 800 } 801 } 802 return 0; |