Hi Sergey,
Please review webrev with changes as per the inputs provided:
cr.openjdk.java.net/~aniyogi/8146321/webrev.06/ 
<http://cr.openjdk.java.net/~aniyogi/8146321/webrev.06/>

With Regards,
Avik Niyogi

> On 08-Feb-2016, at 2:29 am, Sergey Bylokhov <sergey.bylok...@oracle.com> 
> wrote:
> 
> Both updated methods have a typo, 0 will be returned if 
> frame.getFrameIcon()==null:
> 
>    protected int getIconWidth(final JInternalFrame frame) {
>        int width = 0;
> 
>        Icon icon = frame.getFrameIcon();
>        if (icon == null) {
>            icon = UIManager.getIcon("InternalFrame.icon");
>        }
>        else {
>            width = Math.min(icon.getIconWidth(), sMaxIconWidth);
>        }
> 
>        return width;
>    }
> 
>    protected int getIconHeight(final JInternalFrame frame) {
>        int height = 0;
> 
>        Icon icon = frame.getFrameIcon();
>        if (icon == null) {
>            icon = UIManager.getIcon("InternalFrame.icon");
>        }
>        else{
>            height = Math.min(icon.getIconHeight(), sMaxIconHeight);
>        }
> 
>        return height;
>    }
> 
> Note that getIconWidth/getIconHeight should return width/height of the icon, 
> but this is not true anymore, because paintTitleIcon() now use the aspect 
> ratio, which can produce the different Width/Height for the same icon.
> 
> 
> On 04.02.16 12:26, Alexandr Scherbatiy wrote:
>> 
>>   The fix looks good to me.
>> 
>>   Thanks,
>>   Alexandr.
>> 
>> On 2/3/2016 8:51 PM, Avik Niyogi wrote:
>>> Hi All,
>>> Please review the code changes made as per the inputs provided:
>>> http://cr.openjdk.java.net/~aniyogi/8146321/webrev.05/ 
>>> <http://cr.openjdk.java.net/~aniyogi/8146321/webrev.05/>
>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.05/ 
>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.05/>>
>>> 
>>> With Regards,
>>> Avik Niyogi
>>> 
>>>> On 03-Feb-2016, at 7:38 pm, Alexandr Scherbatiy
>>>> <alexandr.scherba...@oracle.com <mailto:alexandr.scherba...@oracle.com>
>>>> <mailto:alexandr.scherba...@oracle.com 
>>>> <mailto:alexandr.scherba...@oracle.com>>> wrote:
>>>> 
>>>> On 2/3/2016 12:47 AM, Avik Niyogi wrote:
>>>>> Hi All,
>>>>> Please review the code changes made as per the inputs provided:
>>>>> http://cr.openjdk.java.net/~aniyogi/8146321/webrev.04 
>>>>> <http://cr.openjdk.java.net/~aniyogi/8146321/webrev.04>
>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.04 
>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.04>>
>>>>  326             g2.translate(0, 0);
>>>>  The translation to the zero vector leaves the coordinate system the
>>>> same.
>>>> 
>>>>  327             float xScaleFactor = (float) sMaxIconWidth /
>>>> icon.getIconWidth();
>>>>  It is better to use double values because the graphics transform
>>>> methods use them.
>>>> 
>>>>  332             g2.scale(scaleFactorAspectRatio,
>>>> scaleFactorAspectRatio);
>>>>  333             g2.translate(x / scaleFactorAspectRatio, y /
>>>> scaleFactorAspectRatio);
>>>>  Is it possible to use the translation first and the scale the
>>>> second? I this case where no need to re-scale translation coordinates.
>>>> 
>>>>  Thanks,
>>>>  Alexandr.
>>>> 
>>>>> 
>>>>> With Regards,
>>>>> Avik Niyogi
>>>>>> On 02-Feb-2016, at 5:55 pm, Alexandr Scherbatiy
>>>>>> <<mailto:alexandr.scherba...@oracle.com 
>>>>>> <mailto:alexandr.scherba...@oracle.com>>alexandr.scherba...@oracle.com 
>>>>>> <mailto:alexandr.scherba...@oracle.com>>
>>>>>> wrote:
>>>>>> 
>>>>>> On 2/2/2016 3:41 AM, Avik Niyogi wrote:
>>>>>>> Hi Alexander,
>>>>>>> 
>>>>>>>> On 02-Feb-2016, at 3:44 pm, Alexandr Scherbatiy
>>>>>>>> <alexandr.scherba...@oracle.com 
>>>>>>>> <mailto:alexandr.scherba...@oracle.com>> wrote:
>>>>>>>> 
>>>>>>>> On 2/2/2016 1:50 AM, Avik Niyogi wrote:
>>>>>>>>> Hi All,
>>>>>>>>> Please review the code changes made as per the inputs provided:
>>>>>>>>> cr.openjdk.java.net/~aniyogi/8146321/webrev.03 
>>>>>>>>> <http://cr.openjdk.java.net/~aniyogi/8146321/webrev.03>
>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.03 
>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.03>>
>>>>>>>> 
>>>>>>>> -  Will it work with custom implementation of the Icon interface
>>>>>>>> which just draws an image?
>>>>>>>>  For example:
>>>>>>>> ----------------------
>>>>>>>> public class DukeIcon implements Icon {
>>>>>>>> 
>>>>>>>>    private BufferedImage dukeImage;
>>>>>>>> 
>>>>>>>>    public DukeIcon() throws IOException {
>>>>>>>>        dukeImage = ImageIO.read(new File("<path to the duke
>>>>>>>> image>"));
>>>>>>>>    }
>>>>>>>> 
>>>>>>>>    @Override
>>>>>>>>    public void paintIcon(Component c, Graphics g, int x, int y) {
>>>>>>>>        g.drawImage(dukeImage, x, y, c);
>>>>>>>>    }
>>>>>>>> 
>>>>>>>>    @Override
>>>>>>>>    public int getIconWidth() {
>>>>>>>>        return dukeImage.getWidth();
>>>>>>>>    }
>>>>>>>> 
>>>>>>>>    @Override
>>>>>>>>    public int getIconHeight() {
>>>>>>>>        return dukeImage.getHeight();
>>>>>>>>    }
>>>>>>>> }
>>>>>>> 
>>>>>>> This is a limitation for custom Icons because they will need to
>>>>>>> use toe drawImage with appropriate implementation.
>>>>>>> To fix that will be a major change and may need change in the
>>>>>>> implementation of drawImage method.
>>>>>> 
>>>>>>  It looks like the code below from the fix doesn't work for the
>>>>>> ImageIcon because x and y are now scaled. Is it possible to apply
>>>>>> some other transformations (may be some translations) to the
>>>>>> graphics to draw the image at the right position?
>>>>>> ---------------
>>>>>> 334                 g2.scale((float) sMaxIconWidth /
>>>>>> icon.getIconWidth(),
>>>>>> 335                         (float) sMaxIconWidth /
>>>>>> icon.getIconHeight());
>>>>>> 336                 icon.paintIcon(frame, g2, x, y);
>>>>>> ---------------
>>>>>>>> ----------------------
>>>>>>>> 
>>>>>>>> - "(icon != null && (icon instanceof Icon))"
>>>>>>>>  Could the check to null also be omitted here?
>>>>>>>>  In other words, are the "(icon != null && (icon instanceof
>>>>>>>> Icon))" and "(icon instanceof Icon)" checks return the same result?
>>>>>>>> 
>>>>>>> If we remove the check, the cases where custom ImageIcon have no
>>>>>>> images will fail.
>>>>>> 
>>>>>>    The provided example  should work with the check: "(icon
>>>>>> instanceof Icon)" in the same way as with the check "(icon != null
>>>>>> && (icon instanceof Icon))" because the used icon is not null and
>>>>>> it implements Icon interface, should not it?
>>>>>> 
>>>>>> Thanks,
>>>>>> Alexandr.
>>>>>> 
>>>>>>> Example:
>>>>>>> 
>>>>>>> 
>>>>>>> import java.awt.*;
>>>>>>> import javax.swing.*;
>>>>>>> 
>>>>>>> public class JInternalFrameBug {
>>>>>>> 
>>>>>>>   public static void main(String[] args) {
>>>>>>> SwingUtilities.invokeLater(
>>>>>>>            new Runnable() {
>>>>>>>               public void run() {
>>>>>>>                  try {
>>>>>>> UIManager.setLookAndFeel("com.apple.laf.AquaLookAndFeel"); }
>>>>>>> catch(Exception e) {
>>>>>>> System.out.println("This is not a Mac.");
>>>>>>> return;
>>>>>>>                  }
>>>>>>>                  JFrame f = new JFrame();
>>>>>>> f.setSize(500, 500);
>>>>>>> JDesktopPane dtp = new JDesktopPane();
>>>>>>> JInternalFrame jif = new JInternalFrame();
>>>>>>> jif.setTitle("Test");
>>>>>>> jif.setFrameIcon(
>>>>>>> new ImageIcon() {
>>>>>>>   public int getIconWidth() {
>>>>>>>      return 16;
>>>>>>>   }
>>>>>>>   public int getIconHeight() {
>>>>>>>      return 16;
>>>>>>>   }
>>>>>>>   public void paintIcon(Component c, Graphics g, int x, int y) {
>>>>>>> g.setColor(java.awt.Color.green);
>>>>>>>      g.fillRect(x, y, 16, 16);
>>>>>>>   }
>>>>>>> });
>>>>>>> jif.setSize(400, 400);
>>>>>>> jif.setVisible(true);
>>>>>>> dtp.add(jif);
>>>>>>> 
>>>>>>> f.getContentPane().setLayout(new BorderLayout());
>>>>>>> f.getContentPane().add(dtp, "Center");
>>>>>>> f.setVisible(true);
>>>>>>>               }
>>>>>>>            });
>>>>>>>   }
>>>>>>> }
>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>>  Alexandr.
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> With Regards,
>>>>>>>>> Avik Niyogi
>>>>>>>>>> On 02-Feb-2016, at 3:02 pm, Alexandr Scherbatiy
>>>>>>>>>> <alexandr.scherba...@oracle.com 
>>>>>>>>>> <mailto:alexandr.scherba...@oracle.com>> wrote:
>>>>>>>>>> 
>>>>>>>>>> On 2/1/2016 11:25 PM, Avik Niyogi wrote:
>>>>>>>>>>> Hi All,
>>>>>>>>>>> Please review the code changes made as per inputs provided:
>>>>>>>>>>> cr.openjdk.java.net/~aniyogi/8146321/webrev.02 
>>>>>>>>>>> <http://cr.openjdk.java.net/~aniyogi/8146321/webrev.02>
>>>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.02 
>>>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.02>>
>>>>>>>>>> 
>>>>>>>>>>   - is it possible to skip the ImageIcon parsing and handle it
>>>>>>>>>> as others icons (may be applying some translation to the graphics)?
>>>>>>>>>>   -   "(icon instanceof ImageIcon || icon instanceof Icon):
>>>>>>>>>>     ImageIcons is also Icon so the whole condition should be
>>>>>>>>>> the same as just (icon instanceof Icon)
>>>>>>>>>> 
>>>>>>>>>>  Thanks,
>>>>>>>>>>  Alexandr.
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> With Regards,
>>>>>>>>>>> Avik Niyogi
>>>>>>>>>>>> On 20-Jan-2016, at 10:35 pm, Sergey Bylokhov
>>>>>>>>>>>> <sergey.bylok...@oracle.com <mailto:sergey.bylok...@oracle.com>> 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> On 20/01/16 18:43, Avik Niyogi wrote:
>>>>>>>>>>>>> if ((icon.getIconWidth() > sMaxIconWidth
>>>>>>>>>>>>>                || icon.getIconHeight() > sMaxIconHeight)) {
>>>>>>>>>>>>>            final Graphics2D g2 = (Graphics2D) g;
>>>>>>>>>>>>>            final AffineTransform savedAT = g2.getTransform();
>>>>>>>>>>>>>            g2.scale((float)sMaxIconWidth/icon.getIconWidth(),
>>>>>>>>>>>>>                    (float)sMaxIconWidth/icon.getIconHeight());
>>>>>>>>>>>>>            icon.paintIcon(frame, g2, x, y);
>>>>>>>>>>>>>            g2.setTransform(savedAT);
>>>>>>>>>>>>>        }
>>>>>>>>>>>> 
>>>>>>>>>>>> This code does not take into account that x,y whcih are
>>>>>>>>>>>> passed to the paintIcon should be adjusted, because after the
>>>>>>>>>>>> scale they contain incorrect starting points.
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> then for a test code with the following:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> import java.awt.*;
>>>>>>>>>>>>> import javax.swing.*;
>>>>>>>>>>>>> 
>>>>>>>>>>>>> public class JInternalFrameBug {
>>>>>>>>>>>>> 
>>>>>>>>>>>>>   public static void main(String[] args) {
>>>>>>>>>>>>>      SwingUtilities.invokeLater(
>>>>>>>>>>>>>            new Runnable() {
>>>>>>>>>>>>>               public void run() {
>>>>>>>>>>>>>                  try {
>>>>>>>>>>>>> 
>>>>>>>>>>>>> UIManager.setLookAndFeel("com.apple.laf.AquaLookAndFeel"); }
>>>>>>>>>>>>>                  catch(Exception e) {
>>>>>>>>>>>>>                     System.out.println("This is not a Mac.");
>>>>>>>>>>>>>                     return;
>>>>>>>>>>>>>                  }
>>>>>>>>>>>>>                  JFrame f = new JFrame();
>>>>>>>>>>>>>                  f.setSize(400, 400);
>>>>>>>>>>>>>                  JDesktopPane dtp = new JDesktopPane();
>>>>>>>>>>>>>                  JInternalFrame jif = new JInternalFrame();
>>>>>>>>>>>>>                  jif.setTitle("Test");
>>>>>>>>>>>>>                  jif.setFrameIcon(new
>>>>>>>>>>>>> ImageIcon("/Users/avniyogi/Downloads/FeedbinNotifier-master/FeedbinNotifier/Images.xcassets/AppIcon.appiconset/icon_128x...@2x.png"));
>>>>>>>>>>>>>                  jif.setSize(200, 200);
>>>>>>>>>>>>>                  jif.setVisible(true);
>>>>>>>>>>>>>                  dtp.add(jif);
>>>>>>>>>>>>> 
>>>>>>>>>>>>>                  f.getContentPane().setLayout(new
>>>>>>>>>>>>> BorderLayout());
>>>>>>>>>>>>>                  f.getContentPane().add(dtp, "Center");
>>>>>>>>>>>>>                  f.setVisible(true);
>>>>>>>>>>>>>               }
>>>>>>>>>>>>>            });
>>>>>>>>>>>>>   }
>>>>>>>>>>>>> }
>>>>>>>>>>>>> 
>>>>>>>>>>>>> results in this:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On 20-Jan-2016, at 4:42 pm, Alexander Scherbatiy
>>>>>>>>>>>>>> <alexandr.scherba...@oracle.com 
>>>>>>>>>>>>>> <mailto:alexandr.scherba...@oracle.com>
>>>>>>>>>>>>>> <mailto:alexandr.scherba...@oracle.com 
>>>>>>>>>>>>>> <mailto:alexandr.scherba...@oracle.com>>> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On 1/20/2016 7:59 AM, Avik Niyogi wrote:
>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>> A gentle reminder, please review my code changes as in the
>>>>>>>>>>>>>>> webrev
>>>>>>>>>>>>>>> below in the mail trail.
>>>>>>>>>>>>>>> With Regards,
>>>>>>>>>>>>>>> Avik Niyogi
>>>>>>>>>>>>>>>> On 18-Jan-2016, at 3:01 pm, Avik Niyogi
>>>>>>>>>>>>>>>> <avik.niy...@oracle.com <mailto:avik.niy...@oracle.com>
>>>>>>>>>>>>>>>> <mailto:avik.niy...@oracle.com <mailto:avik.niy...@oracle.com>>
>>>>>>>>>>>>>>>> <mailto:avik.niy...@oracle.com 
>>>>>>>>>>>>>>>> <mailto:avik.niy...@oracle.com>>> wrote:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Hi Sergey,
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Please review the webrev taking inputs as per the
>>>>>>>>>>>>>>>> discussion before:
>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~aniyogi/8146321/webrev.01/ 
>>>>>>>>>>>>>>>> <http://cr.openjdk.java.net/~aniyogi/8146321/webrev.01/>
>>>>>>>>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.01/ 
>>>>>>>>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.01/>>
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>  The idea was to scale the graphics that the drawn icon
>>>>>>>>>>>>>> fits to the
>>>>>>>>>>>>>> target sizes.
>>>>>>>>>>>>>>  Something like:
>>>>>>>>>>>>>>     --------
>>>>>>>>>>>>>>     g2d.scale(targetIconWidth/icon.getWidth(),
>>>>>>>>>>>>>> targetIconHeight/icon.getHeight());
>>>>>>>>>>>>>>     icon.paintIcon(frame, g2d, x, y);
>>>>>>>>>>>>>>    ---------
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> This should work not only for ImageIcon but for any type
>>>>>>>>>>>>>> of icons.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Alexandr.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> With Regards,
>>>>>>>>>>>>>>>> Avik Niyogi
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> On 14-Jan-2016, at 12:55 pm, Avik Niyogi
>>>>>>>>>>>>>>>>> <avik.niy...@oracle.com <mailto:avik.niy...@oracle.com>
>>>>>>>>>>>>>>>>> <mailto:avik.niy...@oracle.com 
>>>>>>>>>>>>>>>>> <mailto:avik.niy...@oracle.com>>
>>>>>>>>>>>>>>>>> <mailto:avik.niy...@oracle.com 
>>>>>>>>>>>>>>>>> <mailto:avik.niy...@oracle.com>>> wrote:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Hi Sergey,
>>>>>>>>>>>>>>>>> I have verified it with the test case as well. If a test
>>>>>>>>>>>>>>>>> case
>>>>>>>>>>>>>>>>> overrides these methods to imply a change with icons
>>>>>>>>>>>>>>>>> larger than
>>>>>>>>>>>>>>>>> 16x16 it will show that for ImageIcon and Icon as
>>>>>>>>>>>>>>>>> before. The
>>>>>>>>>>>>>>>>> resize of ImageIcon is only in case it has an image file
>>>>>>>>>>>>>>>>> that it
>>>>>>>>>>>>>>>>> will try to fit. I had a similar query myself and have
>>>>>>>>>>>>>>>>> found out
>>>>>>>>>>>>>>>>> that *getImage()* exists for ImageIcon class only and
>>>>>>>>>>>>>>>>> not Icon class.
>>>>>>>>>>>>>>>>> Example:
>>>>>>>>>>>>>>>>> private static void createImageIconUI(final String
>>>>>>>>>>>>>>>>> lookAndFeelString)
>>>>>>>>>>>>>>>>>          throws Exception {
>>>>>>>>>>>>>>>>> SwingUtilities.invokeAndWait(new Runnable() {
>>>>>>>>>>>>>>>>>          @Override
>>>>>>>>>>>>>>>>>          public void run() {
>>>>>>>>>>>>>>>>>              desktopPane = new JDesktopPane();
>>>>>>>>>>>>>>>>>              internalFrame = new JInternalFrame();
>>>>>>>>>>>>>>>>>              frame = new JFrame();
>>>>>>>>>>>>>>>>> internalFrame.setTitle(lookAndFeelString);
>>>>>>>>>>>>>>>>>              titleImageIcon = new ImageIcon() {
>>>>>>>>>>>>>>>>>                  @Override
>>>>>>>>>>>>>>>>>                  public int getIconWidth() {
>>>>>>>>>>>>>>>>>                      return 16;
>>>>>>>>>>>>>>>>>                  }
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>                  @Override
>>>>>>>>>>>>>>>>>                  public int getIconHeight() {
>>>>>>>>>>>>>>>>>                      return 16;
>>>>>>>>>>>>>>>>>                  }
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>                  @Override
>>>>>>>>>>>>>>>>>                  public void paintIcon(
>>>>>>>>>>>>>>>>> Component c, Graphics g, int x, int y) {
>>>>>>>>>>>>>>>>> g.setColor(java.awt.Color.black);
>>>>>>>>>>>>>>>>> *g.fillRect(x, y, 50, 50);*
>>>>>>>>>>>>>>>>>                  }
>>>>>>>>>>>>>>>>>              };
>>>>>>>>>>>>>>>>> internalFrame.setFrameIcon(titleImageIcon);
>>>>>>>>>>>>>>>>> internalFrame.setSize(500, 200);
>>>>>>>>>>>>>>>>> internalFrame.setVisible(true);
>>>>>>>>>>>>>>>>> desktopPane.add(internalFrame);
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>>>>>>>>>>>>>>>>> frame.getContentPane().setLayout(new BorderLayout());
>>>>>>>>>>>>>>>>> frame.getContentPane().add(desktopPane, "Center");
>>>>>>>>>>>>>>>>> frame.setSize(500, 500);
>>>>>>>>>>>>>>>>> frame.setLocationRelativeTo(null);
>>>>>>>>>>>>>>>>> frame.setVisible(true);
>>>>>>>>>>>>>>>>> frame.toFront();
>>>>>>>>>>>>>>>>>          }
>>>>>>>>>>>>>>>>>      });
>>>>>>>>>>>>>>>>>  }
>>>>>>>>>>>>>>>>> In this case the ImageIcon will NOT be resized to 16 x
>>>>>>>>>>>>>>>>> 16 even
>>>>>>>>>>>>>>>>> before my fix was implemented. That resize as shown in
>>>>>>>>>>>>>>>>> code is
>>>>>>>>>>>>>>>>> *only for Image files to fit in default ImageIcon* size
>>>>>>>>>>>>>>>>> as returned
>>>>>>>>>>>>>>>>> from the getIconHeight() and getIconWidth() methods. If user
>>>>>>>>>>>>>>>>> changes the ImageIcon size as in the example, that is
>>>>>>>>>>>>>>>>> upto to user
>>>>>>>>>>>>>>>>> to choose to do so and no control exists to prevent
>>>>>>>>>>>>>>>>> that. *So, with
>>>>>>>>>>>>>>>>> or without my fix, this behaviour will be same for
>>>>>>>>>>>>>>>>> ImageIcon and
>>>>>>>>>>>>>>>>> Icon custom instances.*
>>>>>>>>>>>>>>>>> Hope this clarifies the query.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> With Regards,
>>>>>>>>>>>>>>>>> Avik Niyogi
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> On 14-Jan-2016, at 11:36 am, Sergey Bylokhov
>>>>>>>>>>>>>>>>>> <sergey.bylok...@oracle.com
>>>>>>>>>>>>>>>>>> <mailto:sergey.bylok...@oracle.com>
>>>>>>>>>>>>>>>>>> <mailto:sergey.bylok...@oracle.com>> wrote:
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Hi, Avik.
>>>>>>>>>>>>>>>>>> In the fix you update getIconWidth() and getIconHeight,
>>>>>>>>>>>>>>>>>> so now we
>>>>>>>>>>>>>>>>>> take the Icon into account. but it seems if the Icon is
>>>>>>>>>>>>>>>>>> bigger
>>>>>>>>>>>>>>>>>> that the maximum size it will not be resided to 16x16,
>>>>>>>>>>>>>>>>>> right?
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> On 14/01/16 07:49, Avik Niyogi wrote:
>>>>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Kindly review the bug fix for JDK 9.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Bug:*
>>>>>>>>>>>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8146321
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Webrev:*
>>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~aniyogi/8146321/webrev.00/
>>>>>>>>>>>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8146321/webrev.00/>
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Issue:*
>>>>>>>>>>>>>>>>>>> Under the Mac Look&Feel, if an icon type other than an
>>>>>>>>>>>>>>>>>>> ImageIcon
>>>>>>>>>>>>>>>>>>> is used
>>>>>>>>>>>>>>>>>>> in JInternalFrame.setFrameIcon(),
>>>>>>>>>>>>>>>>>>> the icon will show up in the wrong position.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Cause:*
>>>>>>>>>>>>>>>>>>> the "instanceof Icon" was not checked for. Also, customs
>>>>>>>>>>>>>>>>>>> ImageIcon with
>>>>>>>>>>>>>>>>>>> color fill (and no image URL) which would
>>>>>>>>>>>>>>>>>>> have resulted in null value for resized ImageIcon
>>>>>>>>>>>>>>>>>>> image was not well
>>>>>>>>>>>>>>>>>>> handled.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> *Fix:*
>>>>>>>>>>>>>>>>>>> All places in Aqua LAF where "instanceof Icon” (and
>>>>>>>>>>>>>>>>>>> not just
>>>>>>>>>>>>>>>>>>> ImageIcon
>>>>>>>>>>>>>>>>>>> class) is required,
>>>>>>>>>>>>>>>>>>> inputs were added after significant analyses.
>>>>>>>>>>>>>>>>>>> Check for null for getImage was done to remove a Null
>>>>>>>>>>>>>>>>>>> Pointer
>>>>>>>>>>>>>>>>>>> Exception.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> With Regards,
>>>>>>>>>>>>>>>>>>> Avik Niyogi
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> Best regards, Sergey.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> --
>>>>>>>>>>>> Best regards, Sergey.
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 
> 
> -- 
> Best regards, Sergey.

Reply via email to