From david.dehaven at oracle.com Fri Jan 3 10:13:32 2014 From: david.dehaven at oracle.com (David DeHaven) Date: Fri, 3 Jan 2014 10:13:32 -0800 Subject: Bring Java windows into foreground when dragging over them In-Reply-To: References: Message-ID: <4AB1EAFB-B2D4-4EAF-BEDB-1EACBDF840DD@oracle.com> > when I drag something over a Finder window that is partially in the > background it automatically brings itself in the background after a > short delay. Is this something I have to specifically program into my > Java application or is there some global flag/property to activate > this behavior or anything else I have to know to achieve this > properly? I don't think that's a "free" behavior. It's possible the DnD handlers in Finder are just pushing the target window to the front after the delay. You should be able to do the same by calling Frame.toFront() after some delay. -DrD- From swingler at apple.com Fri Jan 3 17:02:03 2014 From: swingler at apple.com (Mike Swingler) Date: Fri, 03 Jan 2014 17:02:03 -0800 Subject: Bring Java windows into foreground when dragging over them In-Reply-To: <4AB1EAFB-B2D4-4EAF-BEDB-1EACBDF840DD@oracle.com> References: <4AB1EAFB-B2D4-4EAF-BEDB-1EACBDF840DD@oracle.com> Message-ID: <004F8570-DAC4-4CD2-A1D4-19BB12DF8298@apple.com> On Jan 3, 2014, at 10:13 AM, David DeHaven wrote: > >> when I drag something over a Finder window that is partially in the >> background it automatically brings itself in the background after a >> short delay. Is this something I have to specifically program into my >> Java application or is there some global flag/property to activate >> this behavior or anything else I have to know to achieve this >> properly? > > I don't think that's a "free" behavior. It's possible the DnD handlers in Finder are just pushing the target window to the front after the delay. > > You should be able to do the same by calling Frame.toFront() after some delay. This is not standard AppKit behavior, but rather, standard Carbon / Classic Mac OS behavior. At this point, Finder is simply emulating this behavior programmatically. As David says, Frame.toFront() should do the right thing in this case. Regards, Mike Swingler Apple Inc. From krueger at lesspain.de Sat Jan 4 05:14:45 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Sat, 4 Jan 2014 14:14:45 +0100 Subject: Bring Java windows into foreground when dragging over them In-Reply-To: <004F8570-DAC4-4CD2-A1D4-19BB12DF8298@apple.com> References: <4AB1EAFB-B2D4-4EAF-BEDB-1EACBDF840DD@oracle.com> <004F8570-DAC4-4CD2-A1D4-19BB12DF8298@apple.com> Message-ID: On Sat, Jan 4, 2014 at 2:02 AM, Mike Swingler wrote: > On Jan 3, 2014, at 10:13 AM, David DeHaven wrote: > >> >>> when I drag something over a Finder window that is partially in the >>> background it automatically brings itself in the background after a >>> short delay. Is this something I have to specifically program into my >>> Java application or is there some global flag/property to activate >>> this behavior or anything else I have to know to achieve this >>> properly? >> >> I don't think that's a "free" behavior. It's possible the DnD handlers in Finder are just pushing the target window to the front after the delay. >> >> You should be able to do the same by calling Frame.toFront() after some delay. > > This is not standard AppKit behavior, but rather, standard Carbon / Classic Mac OS behavior. At this point, Finder is simply emulating this behavior programmatically. As David says, Frame.toFront() should do the right thing in this case. > Thanks to both of you! I will do that then. From krueger at lesspain.de Sun Jan 5 03:54:13 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Sun, 5 Jan 2014 12:54:13 +0100 Subject: How to know, whether HiDPI is supported? In-Reply-To: <52CAC6A8CE5503408F3482C89035832809C65C00@OC11EXPO27.exchange.mit.edu> References: <52CAC6A8CE5503408F3482C89035832809C57BC4@OC11EXPO27.exchange.mit.edu> <52CAC6A8CE5503408F3482C89035832809C5F772@OC11EXPO27.exchange.mit.edu> <52CAC6A8CE5503408F3482C89035832809C65C00@OC11EXPO27.exchange.mit.edu> Message-ID: I tested this with OpenJDK 8 on my MBP and in all retina modes the scale factor is exactly 2.0 so your initial suggestion will work there. On Sun, Dec 1, 2013 at 7:45 PM, Eirik Bakke wrote: > Ah, I see. > >> I would probably just treat anything thats > 1.0 as HiDPI. > > Good call, at least for the purposes of selecting icons/bitmap graphics. > (In my case I have an app that generates some graphics which it tries to > align to pixel boundaries. So in retina mode it aligns to "half-pixels" > instead of pixels. I'll have to see if it's worth trying to align to > pixels on more general scale factors, or whether I should just not try to > do any alignment at all on the odd HiDPI modes...) > > > -- Eirik > > On 12/1/13, 8:54 AM, "Robert Kr?ger" wrote: > >>Yes, that's what I mean. On my Macbook Pro I can choose out of five >>settings if I choose "scaled" rather than "best for retina display" >>and I, for example, use the "more space" setting to have a maximum >>resolution in terms of pixels and I doubt this is 2.0, so your check >>would probably fail although it would make sense to use the >>higher-resolution graphics on my Macbook with that setting. I would >>probably just treat anything thats > 1.0 as HiDPI. >> >>Robert >> >>On Sat, Nov 30, 2013 at 8:09 PM, Eirik Bakke wrote: >>> Quite possible--do you mean if the scale factor is not exactly 1.0 or >>>2.0? >>> In that case, yes, you should need to get the actual scale factor from >>>the >>> AffineTransform. But I'm unsure how often scale factors other than 1.0 >>>or >>> 2.0 are encountered (surely there can't be more than two sets of icons >>>for >>> every app... unless everyone provides bitmap for the low resolution and >>> SVG for the higher ones). >>> >>> I should add that I have only tested the Retina mode using the "Enable >>> HiDPI display modes" option from the Graphics Tools for XCode [1]. And >>> that one only lets me try 2x scale factors. >>> >>> -- Eirik >>> >>> [1] >>> >>>http://stackoverflow.com/questions/12124576/how-to-simulate-a-retina-disp >>>la >>> y-hidpi-mode-in-mac-os-x-10-8-mountain-lion-on >>> >>> -- Eirik >>> >>> On 11/30/13, 7:04 AM, "Robert Kr?ger" wrote: >>> >>>>Don't the scale factors depend on the individual user's retina >>>>settings? Of course, your approach will also work if that is the case, >>>>it will just require some more checks. >>>> >>>>On Fri, Nov 29, 2013 at 11:26 PM, Eirik Bakke wrote: >>>>> This did the trick for me: >>>>> >>>>> // g is the Graphics2D object fed to the paint() or paintComponent() >>>>> method of your Swing component. >>>>> >>>>>g.getFontRenderContext().getTransform().equals(AffineTransform.getScale >>>>>In >>>>>st >>>>> ance(2.0, 2.0)) >>>>> >>>>> >>>>> It uses no private APIs, and has the advantage that it lets you make >>>>>the >>>>> retina-or-not decision on a component-to-component basis (or in >>>>>practice, >>>>> on a window-to-window basis, as all components in the same window have >>>>>the >>>>> same FontRenderContext). This means if your user has one window on >>>>>their >>>>> retina laptop screen and another on their non-retina external monitor, >>>>> both will render appropriately for their respective devices (I've >>>>> confirmed this to work on Java 1.7.0_45 for MacOS X 10.8.5). >>>>> >>>>> -- Eirik >>>>> >>>>> On 11/29/13, 7:36 AM, "Hendrik Schreiber" wrote: >>>>> >>>>>>Hey.. >>>>>> >>>>>>with some of the Retina work appearing in 1.7.0_60, what is the >>>>>>recommended way for the developer to find out, whether images are/can >>>>>>be >>>>>>scaled, i.e., whether we are dealing with a HiDPI display. >>>>>> >>>>>>In the past, on the Apple JVM, we used: >>>>>> >>>>>> final Float scaleFactor = (Float) >>>>>>Toolkit.getDefaultToolkit().getDesktopProperty("apple.awt.contentScale >>>>>>Fa >>>>>>ct >>>>>>or"); >>>>>> >>>>>>Is there an equivalent? >>>>>> >>>>>>I very much appreciate that you are pushing some of the work down to >>>>>>1.7.0_60. Can you say what parts should now/soon work and how to use >>>>>>them? >>>>>> >>>>>>Thank you, >>>>>> >>>>>>-hendrik >>>>> >>> > From krueger at lesspain.de Mon Jan 6 09:49:51 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Mon, 6 Jan 2014 18:49:51 +0100 Subject: White flashing when opening Dialogs, Menus etc. Message-ID: Hi, we are using a customized Nimbus L&F (the customization is mostly color changes) with dark backgrounds. Since we migrated our product from Apple JDK 6 to OpenJDK 8 each JMenu or JDialog opens and first draws a white rectangle that is then quickly replaced by the real content, which has a rather unprofessional feel. Has anyone had a similar problem and maybe a workaround other than not having a dark background? Is there a known Jira issue I can follow? I am currently running build 121 in development on Mac OS 10.8. Thanks, Robert From paul_t100 at fastmail.fm Mon Jan 6 12:42:26 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Mon, 06 Jan 2014 20:42:26 +0000 Subject: Using the Apple menu (Apple.laf.useScreenMenuBar) the menu items are always in English whatever set as Preferred Language In-Reply-To: <0B63D2AA-1585-4CB3-91A3-1E57CD74FECB@oracle.com> References: <52A9E0CB.4080707@fastmail.fm> <86057512-15DD-4713-942B-9AC0F45F47D2@oracle.com> <52BB228E.8080407@fastmail.fm> <0B63D2AA-1585-4CB3-91A3-1E57CD74FECB@oracle.com> Message-ID: <52CB1532.4070903@fastmail.fm> On 25/12/2013 18:27, Petr Pchelko wrote: > Hello, Paul. > >> Thanks, my application is actually packaged using this fork of >> appbundler https://bitbucket.org/infinitekind/appbundler >> >> So will >> CFBundleAllowMixedLocalizations >> >> work for that as well ? > I?ve never tried to use this tool, so I do not know. But you could > simply try that just by adding > CFBundleAllowMixedLocalizations > > to the Info.plist of a bundled app. I suppose it should work. > If it does not the javafxpackager is available in JDK8 EA builds and > it works not only for JavaFX but for Swing applications too. > > With best regards. Petr. Confirmed works thx. Would be nice if could be put into infinitekinds Appbundler anyone, had a look at the source code myself but got nowhere. Paul From krueger at lesspain.de Tue Jan 7 06:00:13 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Tue, 7 Jan 2014 15:00:13 +0100 Subject: Building OpenJDK 8 on 10.6.8 Message-ID: Hi, I think the official answer to this is 10.7+ is supported but is there a possibility to build OpenJDK 8 on 10.6.8 maybe with some limitations? Could anyone share information on this? Thanks, Robert From joe.mcglynn at oracle.com Tue Jan 7 06:11:11 2014 From: joe.mcglynn at oracle.com (Joe McGlynn) Date: Tue, 7 Jan 2014 06:11:11 -0800 Subject: Building OpenJDK 8 on 10.6.8 In-Reply-To: References: Message-ID: <86030E9C-E5F7-45AC-8F39-80572991C0A7@oracle.com> Hi Robert, JDK 7 is only supported on 10.7.3 and above because there are API limitations in versions of OS X below that. Building the complete JDK (7 or 8) on lower versions of the JDK is not possible AFAIK. On Jan 7, 2014, at 6:00 AM, Robert Kr?ger wrote: > Hi, > > I think the official answer to this is 10.7+ is supported but is there > a possibility to build OpenJDK 8 on 10.6.8 maybe with some > limitations? Could anyone share information on this? > > Thanks, > > Robert From steve at weblite.ca Tue Jan 7 06:35:14 2014 From: steve at weblite.ca (Steve Hannah) Date: Tue, 7 Jan 2014 06:35:14 -0800 Subject: Building OpenJDK 8 on 10.6.8 In-Reply-To: <86030E9C-E5F7-45AC-8F39-80572991C0A7@oracle.com> References: <86030E9C-E5F7-45AC-8F39-80572991C0A7@oracle.com> Message-ID: I'm able to use 1.7.0_25 and earlier on 10.6.8, but not the more recent versions. Steve On Tuesday, January 7, 2014, Joe McGlynn wrote: > Hi Robert, > > JDK 7 is only supported on 10.7.3 and above because there are API > limitations in versions of OS X below that. Building the complete JDK (7 > or 8) on lower versions of the JDK is not possible AFAIK. > > > On Jan 7, 2014, at 6:00 AM, Robert Kr?ger > > wrote: > > > Hi, > > > > I think the official answer to this is 10.7+ is supported but is there > > a possibility to build OpenJDK 8 on 10.6.8 maybe with some > > limitations? Could anyone share information on this? > > > > Thanks, > > > > Robert > > -- Steve Hannah Web Lite Solutions Corp. From krueger at lesspain.de Tue Jan 7 06:35:46 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Tue, 7 Jan 2014 15:35:46 +0100 Subject: Building OpenJDK 8 on 10.6.8 In-Reply-To: <86030E9C-E5F7-45AC-8F39-80572991C0A7@oracle.com> References: <86030E9C-E5F7-45AC-8F39-80572991C0A7@oracle.com> Message-ID: Thanks for the quick info! I guess then we'll have to deliver two versions of our application until our customers have all moved beyond 10.6. On Tue, Jan 7, 2014 at 3:11 PM, Joe McGlynn wrote: > Hi Robert, > > JDK 7 is only supported on 10.7.3 and above because there are API > limitations in versions of OS X below that. Building the complete JDK (7 > or 8) on lower versions of the JDK is not possible AFAIK. > > > > > On Jan 7, 2014, at 6:00 AM, Robert Kr?ger wrote: > > Hi, > > I think the official answer to this is 10.7+ is supported but is there > a possibility to build OpenJDK 8 on 10.6.8 maybe with some > limitations? Could anyone share information on this? > > Thanks, > > Robert > > > From krueger at lesspain.de Tue Jan 7 06:38:10 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Tue, 7 Jan 2014 15:38:10 +0100 Subject: Building OpenJDK 8 on 10.6.8 In-Reply-To: References: <86030E9C-E5F7-45AC-8F39-80572991C0A7@oracle.com> Message-ID: I was afraid so, given at least the retina stuff was probably fixed using newer APIs. Thanks! That saved me some time, testing it myself. On Tue, Jan 7, 2014 at 3:35 PM, Steve Hannah wrote: > I'm able to use 1.7.0_25 and earlier on 10.6.8, but not the more recent > versions. > > Steve > > > On Tuesday, January 7, 2014, Joe McGlynn wrote: >> >> Hi Robert, >> >> JDK 7 is only supported on 10.7.3 and above because there are API >> limitations in versions of OS X below that. Building the complete JDK (7 or >> 8) on lower versions of the JDK is not possible AFAIK. >> >> >> On Jan 7, 2014, at 6:00 AM, Robert Kr?ger wrote: >> >> > Hi, >> > >> > I think the official answer to this is 10.7+ is supported but is there >> > a possibility to build OpenJDK 8 on 10.6.8 maybe with some >> > limitations? Could anyone share information on this? >> > >> > Thanks, >> > >> > Robert >> > > > -- > Steve Hannah > Web Lite Solutions Corp. > From hs at tagtraum.com Sun Jan 12 14:00:31 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Sun, 12 Jan 2014 23:00:31 +0100 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable Message-ID: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> Hey Guys, just wondered - is it a known bug that the checkmarks of JCheckBoxMenuItems on build 1.8.0-ea-b121 aren't rendered as HiDPI version on Retina displays? Thanks, -hendrik From Sergey.Bylokhov at oracle.com Mon Jan 13 02:17:21 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Mon, 13 Jan 2014 14:17:21 +0400 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> Message-ID: <52D3BD31.1090109@oracle.com> Hi, Hendrik. On 13.01.2014 2:00, Hendrik Schreiber wrote: > Hey Guys, > > just wondered - is it a known bug that the checkmarks of JCheckBoxMenuItems on build 1.8.0-ea-b121 aren't rendered as HiDPI version on Retina displays? I suppose not, and suggest to file a new CR at http://bugs.sun.com. Send assigned bugid here. > > Thanks, > > -hendrik -- Best regards, Sergey. From hs at tagtraum.com Mon Jan 13 03:54:57 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Mon, 13 Jan 2014 12:54:57 +0100 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: <52D3BD31.1090109@oracle.com> References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> Message-ID: <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> Hey Sergey, bug is filed under "(Bug ID: 9009584 ) - Checkmarks of JCheckBoxMenuItems aren't rendered in high res on Retina" While at it, you might also want to take a look at "(Bug ID: 9009344 ) - JPopupMenus in Swing don't have rounded corners on OS X". Thanks, -hendrik From hs at tagtraum.com Mon Jan 13 04:55:49 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Mon, 13 Jan 2014 13:55:49 +0100 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: <52932F88.9050704@fastmail.fm> References: <52932F88.9050704@fastmail.fm> Message-ID: <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> On Nov 25, 2013, at 12:07, Paul Taylor wrote: > So on Windows with Java 7 I receive an image dragged frrm a webpage in these flavours (plus others) but these are two I'm interested in > > 25/11/2013 10.31.07:com.jthink.jaikoz.draganddrop.FileDropTarget:drop:SEVERE: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL] > 25/11/2013 10.31.07:com.jthink.jaikoz.draganddrop.FileDropTarget:drop:SEVERE: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-file-list;representationclass=java.util.List] > > On OSX with Java 6 I received at least one of the two above, but now with Java 7 (1.7.0_40) I no longer receive either > > I found these bugs that seem related > > https://bugs.openjdk.java.net/browse/JDK-7124379 > https://bugs.openjdk.java.net/browse/JDK-8005932 Hey Paul, I was just wondering - did you get a resolution for this? Thanks, -hendrik From paul_t100 at fastmail.fm Mon Jan 13 05:14:30 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Mon, 13 Jan 2014 13:14:30 +0000 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> Message-ID: <52D3E6B6.2010807@fastmail.fm> On 13/01/2014 12:55, Hendrik Schreiber wrote: > On Nov 25, 2013, at 12:07, Paul Taylor wrote: > >> So on Windows with Java 7 I receive an image dragged frrm a webpage in these flavours (plus others) but these are two I'm interested in >> >> 25/11/2013 10.31.07:com.jthink.jaikoz.draganddrop.FileDropTarget:drop:SEVERE: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL] >> 25/11/2013 10.31.07:com.jthink.jaikoz.draganddrop.FileDropTarget:drop:SEVERE: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-file-list;representationclass=java.util.List] >> >> On OSX with Java 6 I received at least one of the two above, but now with Java 7 (1.7.0_40) I no longer receive either >> >> I found these bugs that seem related >> >> https://bugs.openjdk.java.net/browse/JDK-7124379 >> https://bugs.openjdk.java.net/browse/JDK-8005932 > Hey Paul, > > I was just wondering - did you get a resolution for this? > > Thanks, > > -hendrik Hi, yes it is fixed in early access version of Java 8 http://download.java.net/jdk8/changes/jdk8-b119.html?q=download/jdk8/changes/jdk8-b119.html Paul From hs at tagtraum.com Mon Jan 13 08:27:06 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Mon, 13 Jan 2014 17:27:06 +0100 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: <52D3E6B6.2010807@fastmail.fm> References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> Message-ID: <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> On Jan 13, 2014, at 14:14, Paul Taylor wrote: > Hi, yes it is fixed in early access version of Java 8 > > http://download.java.net/jdk8/changes/jdk8-b119.html?q=download/jdk8/changes/jdk8-b119.html Was this fixed by http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8027913 or http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124253? Have you verified the fix? When dragging a JPEG (which is not embedded in HTML) from a web browser to my app, I never get a URL or a File list flavor. What I reliably see is: java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image] and depending on the browser a bunch of other text/... flavors. But I'd much rather have a URL or a file... This is on OS X 10.9.1 and FireFox 26, Chrome 31 and Safari 7.0.1, Java build 1.8.0-ea-b121. Cheers, -hendrik From paul_t100 at fastmail.fm Mon Jan 13 08:38:41 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Mon, 13 Jan 2014 16:38:41 +0000 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> Message-ID: <52D41691.3000800@fastmail.fm> On 13/01/2014 16:27, Hendrik Schreiber wrote: > On Jan 13, 2014, at 14:14, Paul Taylor wrote: > >> Hi, yes it is fixed in early access version of Java 8 >> >> http://download.java.net/jdk8/changes/jdk8-b119.html?q=download/jdk8/changes/jdk8-b119.html > Was this fixed by http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8027913 or http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124253? > > Have you verified the fix? > > When dragging a JPEG (which is not embedded in HTML) from a web browser to my app, I never get a URL or a File list flavor. What I reliably see is: > > java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image] > > and depending on the browser a bunch of other text/... flavors. But I'd much rather have a URL or a file... > > This is on OS X 10.9.1 and FireFox 26, Chrome 31 and Safari 7.0.1, Java build 1.8.0-ea-b121. > > Cheers, > > -hendrik > > I verified it was now working , but in my use case the jpeg is within the html file so maybe that is the difference paul From hs at tagtraum.com Mon Jan 13 08:47:31 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Mon, 13 Jan 2014 17:47:31 +0100 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: <52D41691.3000800@fastmail.fm> References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> <52D41691.3000800@fastmail.fm> Message-ID: On Jan 13, 2014, at 17:38, Paul Taylor wrote: > I verified it was now working , but in my use case the jpeg is within the html file so maybe that is the difference I just tried that as well: no difference :-( Which OS X and Java version did you test with? I tried 10.9.1 and java 1.8.0-b121. -hendrik From paul_t100 at fastmail.fm Mon Jan 13 08:57:06 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Mon, 13 Jan 2014 16:57:06 +0000 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> <52D41691.3000800@fastmail.fm> Message-ID: <52D41AE2.6050906@fastmail.fm> On 13/01/2014 16:47, Hendrik Schreiber wrote: > On Jan 13, 2014, at 17:38, Paul Taylor wrote: > >> I verified it was now working , but in my use case the jpeg is within the html file so maybe that is the difference > I just tried that as well: no difference :-( > > Which OS X and Java version did you test with? > I tried 10.9.1 and java 1.8.0-b121. > > -hendrik Hmm, maybe are talking about different things I had two issues, one was fixed by the final version of java 7, and issue with Chrome was fixed with Java 8 build 119 but its a while ago now I'm not sure on the details Paul From petr.pchelko at oracle.com Mon Jan 13 09:36:37 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Mon, 13 Jan 2014 21:36:37 +0400 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> <52D41691.3000800@fastmail.fm> Message-ID: Hello, Hendrik. > I just tried that as well: no difference :-( We?ve had numerous regression in datatransfer area in JDK-8 but wight now they should all be fixed. However the URI transfer on Mac OS X still does not work in some cases, it?s simply not implemented. I have a related issue: https://bugs.openjdk.java.net/browse/JDK-7124379 Could you please clarify 1. what exactly you are trying do drag 2. how you do it (do you select a text+picture or just picture or just drag without selection) 3. which browser versions do you use 4. what result do are expect. I?ll have a look at it and either fix it under an JDK-7124379 or file a new CR for you. With best regards. Petr. 13 ???. 2014 ?., ? 8:47 ????? ???????, Hendrik Schreiber ???????(?): > On Jan 13, 2014, at 17:38, Paul Taylor wrote: > >> I verified it was now working , but in my use case the jpeg is within the html file so maybe that is the difference > > I just tried that as well: no difference :-( > > Which OS X and Java version did you test with? > I tried 10.9.1 and java 1.8.0-b121. > > -hendrik From hs at tagtraum.com Wed Jan 15 05:31:44 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Wed, 15 Jan 2014 14:31:44 +0100 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> <52D41691.3000800@fastmail.fm> Message-ID: On Jan 13, 2014, at 18:36, Petr Pchelko wrote: Hey Petr! Thank! Please find the requested info below. > We?ve had numerous regression in datatransfer area in JDK-8 but wight now they should all be fixed. > > However the URI transfer on Mac OS X still does not work in some cases, it?s simply not implemented. > I have a related issue: https://bugs.openjdk.java.net/browse/JDK-7124379 > > Could you please clarify > 1. what exactly you are trying do drag > 2. how you do it (do you select a text+picture or just picture or just drag without selection) > 3. which browser versions do you use > 4. what result do are expect. > I?ll have a look at it and either fix it under an JDK-7124379 or file a new CR for you. 1. (to make this easy) I'm dragging the "OpenJDK" image on http://openjdk.java.net 2. Just the image, no text or anything else. 3. FireFox 26, Chrome 31 and Safari 7.0.1 on OS X 10.9.1. 4. I expect at least a "mimetype=application/x-java-url;representationclass=java.net.URL" data flavor, just like Java 6 provided. Additionally, I expect a "mimetype=image/x-java-image;representationclass=java.awt.Image", some text/plain data flavors that allow me to retrieve the URL as String, and (I guess) a text/uri-list data flavor, because it just makes sense. The worst case is "Chrome 31 --> Java build 1.8.0-ea-b121"; only a java.awt.Image is provided. When dragging from Firefox 26, all flavors seem to occur 3 times. According to the docs for Transferable#getTransferDataFlavors(): * Returns an array of DataFlavor objects indicating the flavors the data * can be provided in. The array should be ordered according to preference * for providing the data (from most richly descriptive to least descriptive). Unfortunately, I cannot recognize a meaningful ordering in Java 8. I conducted a bunch of tests with the following source code: import javax.swing.*; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; public class DragHere { public static void main(String[] args) { final JFrame frame = new JFrame(); final JPanel panel = new JPanel(); frame.getContentPane().add(panel); panel.setTransferHandler(new TransferHandler(){ @Override public boolean canImport(final TransferSupport support) { return true; } @Override public boolean importData(final TransferSupport support) { final Transferable transferable = support.getTransferable(); final DataFlavor[] flavors = transferable.getTransferDataFlavors(); for (final DataFlavor flavor : flavors){ try { final Object transferData = transferable.getTransferData(flavor); System.out.print(flavor + ":\t"); System.out.println(transferData); } catch (UnsupportedFlavorException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return true; } }); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { frame.setBounds(100, 100, 100, 100); frame.setVisible(true); } }); } } When dragging the "OpenJDK" image on http://openjdk.java.net onto the panel, I get the following output, showing supported flavors and their values for different browsers and JVMs. Safari 7.0.1 --> Java 1.6.0_65: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 2e00e753: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.Reader]: java.io.InputStreamReader at 49dc423f java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[C]: [C at 474b5f4a java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 255d17d7 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16]: [B at 2c8376b java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 26ae533a java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-8]: [B at 7eda18ac java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7ee49dcd java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16BE]: [B at 53343ed0 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 470b9279 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16LE]: [B at 48bd6a5f java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 496614e7 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=ISO-8859-1]: [B at 2c979e8b java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 42197bb7 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=US-ASCII]: [B at 17094d48 java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 50059a34 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 67eb366 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 2a0ab444 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 559113f8 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 27b62aab java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 28ab54eb java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 8542529 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 4c53ab04 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 900bac2 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at ee51b2c java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 635aed57 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 66941db6 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 62acc57 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 63cd66ea Firefox 26 --> Java 1.6.0_65: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at 774acfcd java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 28ab54eb java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 8542529 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 4c53ab04 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 635aed57 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 66941db6 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 421fbfd6 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 326b9c84 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 27a897a9 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 6490832e java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1f8166e5 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 16e1eea8 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3e364641 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 215f7107 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.Reader]: java.io.InputStreamReader at f593af java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[C]: [C at 3c6210fb java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 4a48edb5 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16]: [B at 79ee2c2c java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3963b3e java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-8]: [B at 7c0b6548 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 50269997 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16BE]: [B at 162db19d java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 11e7c5cb java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16LE]: [B at 76a9b9c java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 680e2291 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=ISO-8859-1]: [B at 77ff92f5 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 2c09505f java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=US-ASCII]: [B at 177ba38f java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 362f0d54 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 3ad3c6a3 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 205ddb6e java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 71f1235b java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at e4865ce java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 3d93f6e2 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3d358f03 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 661736e java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at 67e13e07 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 74af72d8 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 2a9cfec1 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 291946c2 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 5421e554: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7d5718f2 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 6126f827 Chrome 31 --> Java 1.6.0_65: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.Reader]: java.io.InputStreamReader at 26c623af java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[C]: [C at 18b1aebf java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 39478a43 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16]: [B at 7c65216 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 6d372656 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1b815bfb java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 4ce66f56: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-8]: [B at 2c979e8b java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16BE]: [B at 1629ce8c java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 17094d48 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16LE]: [B at 63b0bdc8 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 16aeea66 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=ISO-8859-1]: [B at 4c349471 java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 579d75ee java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=US-ASCII]: [B at 22a98932 Safari 7.0.1 --> Java build 1.8.0-ea-b121: java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 60c29a7 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 23aed4dc java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 2048cdc9 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 547905ac java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 33df4f95 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 66827506 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 42da9a java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1c0afb5b java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 5560aca8 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 203fc947 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at 363f51d0 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7d24b46f java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 2d71528f java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 73dad397 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 3f27aded java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 67f8f1aa: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 Firefox 26 --> Java build 1.8.0-ea-b121: java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at 86ac272 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at 73c0d477 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at f136aa2 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 61ab03bb java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 3f8c24ae java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 4a9a2c44 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 5e4819cf java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 67c76f66 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 39308e64 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 22536d0a java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 3c4b8eee java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 602b7a5e java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 5d559b91 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 64d7960c java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 40b4886 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3fc93bd3 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 4eb1a6a8 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 168e2e84 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 489f0bab java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3efea6c8 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7d39d359 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1a243874 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 2ad6aac8 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 615581bc java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 52c535d4 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 69194060 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 76062761 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3b93007c java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 4083f94f java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 633aab7f java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 24c0a556 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7f3d152 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 58e50962 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 6eb22052 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 4f79c2c7 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 5619e33b java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 26474e83 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 59884aa9 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 58e6d4a5 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 41ffe4b9 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 5dd08953 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 46165d42 java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 283bead9 java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 165f194b java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 4f1c80c2 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 3b14382e java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 4c8e60b7 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 2275bd2c java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 9c43330 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 130bbf6e java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 2cbffe60 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 23acaa06 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at b5940f0 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at 45676e3a java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1678d408 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 50c2b05b java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 11dd2473 java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 6fb58ecc java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 3fbdcfa6: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 Chrome 31 --> Java build 1.8.0-ea-b121: java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 78e96ed0: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 From hs at tagtraum.com Wed Jan 15 10:26:15 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Wed, 15 Jan 2014 19:26:15 +0100 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> <52D41691.3000800@fastmail.fm> Message-ID: <31EB2627-7A00-4469-9B15-597B5446D73D@tagtraum.com> On Jan 15, 2014, at 14:31, Hendrik Schreiber wrote: > On Jan 13, 2014, at 18:36, Petr Pchelko wrote: > Additionally, I'm under the impression that when dragging a file from Finder, I do get a DataFlavor.javaFileListFlavor as flavor, but when I request the actual data via transferable.getTransferData(dataFlavor), I only get null. This is also in Java 8 b121. Cheers, -hendrik From petr.pchelko at oracle.com Wed Jan 15 23:12:42 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Thu, 16 Jan 2014 11:12:42 +0400 Subject: Dragging an image from Webpage within Firefox no longer provides it as DataFlavour java.net.URL/java.util.List on OSX with Java 7 In-Reply-To: References: <52932F88.9050704@fastmail.fm> <6F0A4D02-F6C6-4A48-B94C-56941F2E4E64@tagtraum.com> <52D3E6B6.2010807@fastmail.fm> <6BDF6F2E-BF91-450E-AF93-BA2815AD76FF@tagtraum.com> <52D41691.3000800@fastmail.fm> Message-ID: Hello, Hendrik. Thank you for the great bug reporting. The problem with ordering is known and it's tracked under: https://bugs.openjdk.java.net/browse/JDK-8027148 As for the lack of DataFlavors - I've filed the following bug: https://bugs.openjdk.java.net/browse/JDK-8031964 Also, thank you for noticing that something is wrong with the Finder. I think I know the reason, but anyway I've filed https://bugs.openjdk.java.net/browse/JDK-8031965 With best regards. Petr. On 15.01.2014, at 17:31, Hendrik Schreiber wrote: > On Jan 13, 2014, at 18:36, Petr Pchelko wrote: > > Hey Petr! > > Thank! Please find the requested info below. > >> We?ve had numerous regression in datatransfer area in JDK-8 but wight now they should all be fixed. >> >> However the URI transfer on Mac OS X still does not work in some cases, it?s simply not implemented. >> I have a related issue: https://bugs.openjdk.java.net/browse/JDK-7124379 >> >> Could you please clarify >> 1. what exactly you are trying do drag >> 2. how you do it (do you select a text+picture or just picture or just drag without selection) >> 3. which browser versions do you use >> 4. what result do are expect. >> I?ll have a look at it and either fix it under an JDK-7124379 or file a new CR for you. > > 1. (to make this easy) I'm dragging the "OpenJDK" image on http://openjdk.java.net > 2. Just the image, no text or anything else. > 3. FireFox 26, Chrome 31 and Safari 7.0.1 on OS X 10.9.1. > 4. I expect at least a "mimetype=application/x-java-url;representationclass=java.net.URL" data flavor, just like Java 6 provided. Additionally, I expect a "mimetype=image/x-java-image;representationclass=java.awt.Image", some text/plain data flavors that allow me to retrieve the URL as String, and (I guess) a text/uri-list data flavor, because it just makes sense. > > > The worst case is "Chrome 31 --> Java build 1.8.0-ea-b121"; only a java.awt.Image is provided. > When dragging from Firefox 26, all flavors seem to occur 3 times. > According to the docs for Transferable#getTransferDataFlavors(): > > * Returns an array of DataFlavor objects indicating the flavors the data > * can be provided in. The array should be ordered according to preference > * for providing the data (from most richly descriptive to least descriptive). > > Unfortunately, I cannot recognize a meaningful ordering in Java 8. > > I conducted a bunch of tests with the following source code: > > import javax.swing.*; > import java.awt.datatransfer.DataFlavor; > import java.awt.datatransfer.Transferable; > import java.awt.datatransfer.UnsupportedFlavorException; > import java.io.IOException; > > public class DragHere { > > public static void main(String[] args) { > final JFrame frame = new JFrame(); > final JPanel panel = new JPanel(); > frame.getContentPane().add(panel); > panel.setTransferHandler(new TransferHandler(){ > @Override > public boolean canImport(final TransferSupport support) { > return true; > } > > @Override > public boolean importData(final TransferSupport support) { > final Transferable transferable = support.getTransferable(); > final DataFlavor[] flavors = transferable.getTransferDataFlavors(); > for (final DataFlavor flavor : flavors){ > try { > final Object transferData = transferable.getTransferData(flavor); > System.out.print(flavor + ":\t"); > System.out.println(transferData); > } catch (UnsupportedFlavorException e) { > e.printStackTrace(); > } catch (IOException e) { > e.printStackTrace(); > } > } > return true; > } > }); > SwingUtilities.invokeLater(new Runnable() { > @Override > public void run() { > frame.setBounds(100, 100, 100, 100); > frame.setVisible(true); > } > }); > } > } > > > When dragging the "OpenJDK" image on http://openjdk.java.net onto the panel, I get the following output, showing supported flavors and their values for different browsers and JVMs. > > Safari 7.0.1 --> Java 1.6.0_65: > > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 2e00e753: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.Reader]: java.io.InputStreamReader at 49dc423f > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[C]: [C at 474b5f4a > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 255d17d7 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16]: [B at 2c8376b > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 26ae533a > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-8]: [B at 7eda18ac > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7ee49dcd > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16BE]: [B at 53343ed0 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 470b9279 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16LE]: [B at 48bd6a5f > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 496614e7 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=ISO-8859-1]: [B at 2c979e8b > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 42197bb7 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=US-ASCII]: [B at 17094d48 > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 50059a34 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 67eb366 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 2a0ab444 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 559113f8 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 27b62aab > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 28ab54eb > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 8542529 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 4c53ab04 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 900bac2 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at ee51b2c > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 635aed57 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 66941db6 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 62acc57 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 63cd66ea > > > Firefox 26 --> Java 1.6.0_65: > > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at 774acfcd > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 28ab54eb > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 8542529 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 4c53ab04 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 635aed57 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 66941db6 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 421fbfd6 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 326b9c84 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 27a897a9 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 6490832e > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1f8166e5 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 16e1eea8 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3e364641 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 215f7107 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.Reader]: java.io.InputStreamReader at f593af > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[C]: [C at 3c6210fb > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 4a48edb5 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16]: [B at 79ee2c2c > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3963b3e > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-8]: [B at 7c0b6548 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 50269997 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16BE]: [B at 162db19d > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 11e7c5cb > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16LE]: [B at 76a9b9c > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 680e2291 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=ISO-8859-1]: [B at 77ff92f5 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 2c09505f > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=US-ASCII]: [B at 177ba38f > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 362f0d54 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 3ad3c6a3 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 205ddb6e > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 71f1235b > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at e4865ce > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 3d93f6e2 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3d358f03 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 661736e > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at 67e13e07 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 74af72d8 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 2a9cfec1 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 291946c2 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 5421e554: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7d5718f2 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 6126f827 > > > Chrome 31 --> Java 1.6.0_65: > > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-url;representationclass=java.net.URL]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.Reader]: java.io.InputStreamReader at 26c623af > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[C]: [C at 18b1aebf > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 39478a43 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16]: [B at 7c65216 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 6d372656 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1b815bfb > java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 4ce66f56: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-8]: [B at 2c979e8b > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16BE]: [B at 1629ce8c > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 17094d48 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=UTF-16LE]: [B at 63b0bdc8 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 16aeea66 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=ISO-8859-1]: [B at 4c349471 > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 579d75ee > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/uri-list;representationclass=[B;charset=US-ASCII]: [B at 22a98932 > > > Safari 7.0.1 --> Java build 1.8.0-ea-b121: > > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 60c29a7 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 23aed4dc > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 2048cdc9 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 547905ac > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 33df4f95 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 66827506 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 42da9a > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1c0afb5b > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 5560aca8 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 203fc947 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at 363f51d0 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7d24b46f > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 2d71528f > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 73dad397 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 3f27aded > java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 67f8f1aa: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 > > > Firefox 26 --> Java build 1.8.0-ea-b121: > > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at 86ac272 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at 73c0d477 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]: java.io.InputStreamReader at f136aa2 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]:
> java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 61ab03bb > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 3f8c24ae > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]: [C at 4a9a2c44 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 5e4819cf > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 67c76f66 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 39308e64 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=424 cap=424] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 22536d0a > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 3c4b8eee > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]: [B at 602b7a5e > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 5d559b91 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 64d7960c > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 40b4886 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3fc93bd3 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 4eb1a6a8 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 168e2e84 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]: [B at 489f0bab > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3efea6c8 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7d39d359 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1a243874 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 2ad6aac8 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 615581bc > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]: [B at 52c535d4 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 69194060 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 76062761 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 3b93007c > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=422 cap=422] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 4083f94f > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 633aab7f > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]: [B at 24c0a556 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 7f3d152 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 58e50962 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 6eb22052 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 4f79c2c7 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 5619e33b > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]: [B at 26474e83 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 59884aa9 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 58e6d4a5 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 41ffe4b9 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=211 cap=211] > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 5dd08953 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 46165d42 > java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]: [B at 283bead9 > java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]: java.io.InputStreamReader at 165f194b > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]: http://openjdk.java.net/images/openjdk.png > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]: [C at 4f1c80c2 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]: java.io.StringReader at 3b14382e > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]: java.nio.HeapByteBuffer[pos=0 lim=86 cap=86] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]: [B at 4c8e60b7 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 2275bd2c > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 9c43330 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]: [B at 130bbf6e > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 2cbffe60 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]: [B at 23acaa06 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at b5940f0 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]: java.nio.HeapByteBuffer[pos=0 lim=84 cap=84] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]: [B at 45676e3a > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 1678d408 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]: [B at 50c2b05b > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]: sun.awt.datatransfer.DataTransferer$ReencodingInputStream at 11dd2473 > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] > java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]: [B at 6fb58ecc > java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 3fbdcfa6: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 > > > Chrome 31 --> Java build 1.8.0-ea-b121: > > java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]: BufferedImage at 78e96ed0: type = 3 DirectColorModel: rmask=ff0000 gmask=ff00 bmask=ff amask=ff000000 IntegerInterleavedRaster: width = 300 height = 82 #Bands = 4 xOff = 0 yOff = 0 dataOffset[0] 0 > From hs at tagtraum.com Fri Jan 17 04:07:12 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Fri, 17 Jan 2014 13:07:12 +0100 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> Message-ID: <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> On Jan 13, 2014, at 12:54, Hendrik Schreiber wrote: > Hey Sergey, > > bug is filed under "(Bug ID: 9009584 ) - Checkmarks of JCheckBoxMenuItems aren't rendered in high res on Retina" > > While at it, you might also want to take a look at "(Bug ID: 9009344 ) - JPopupMenus in Swing don't have rounded corners on OS X". Sergey, I just realized that sub-menues in JPopupMenus also uses a low res arrow ">". I guess this is part of the same issue. Perhaps you want to add a comment to the original bug 9009584... Thanks, -hendrik From damarasekara at typefi.com Mon Jan 20 17:46:43 2014 From: damarasekara at typefi.com (Dinesh Amarasekara) Date: Tue, 21 Jan 2014 11:46:43 +1000 Subject: toFront() method does not work as supposed Message-ID: Hi, I am using JDK_7.0_51 and the Java Swing method toFront is not working for me as expected on Mac OSX. Does anybody have any clue about this ? Thanks And Best Regards, Dinesh. -- *Dinesh Amarasekara * \ Typefi Systems Pty Ltd Software Engineer \ Research and Development +61 7-3102-5444 \ damarasekara at typefi.com *Eco-Tip: *Please consider the environment before printing this email From niagarasoft20-macosxportdev at yahoo.com Mon Jan 20 18:22:47 2014 From: niagarasoft20-macosxportdev at yahoo.com (niagarasoft20-macosxportdev at yahoo.com) Date: Mon, 20 Jan 2014 18:22:47 -0800 (PST) Subject: JFrame.setResizable(false) brings unexpected behaviour in j2sdk 8 In-Reply-To: References: Message-ID: <1390270967.85273.YahooMailNeo@web121804.mail.ne1.yahoo.com> Hello , I've come across something I've never had an issue with until Java 8. The code below results in the JFrame zooming from the normally placed screen position (upper left hand corner) down to the lower left hand corner position. If I call the setResizable(false) method after the JFrame is visible then there is no problem. What is going on? See the same code below: ============ JFramePositionTest.java ======================= import javax.swing.*; import java.awt.*; public class JFramePositionTest { ??? public static void main (String args[]){ ??????? new JFramePositionTest(); ??? } ??? public JFramePositionTest(){ ??????? JFrame aFrame = new JFrame(); ??????? aFrame.setSize(300,300); ??????? aFrame.setResizable(false); ??????? aFrame.setVisible(true); ??????? //aFrame.setResizable(false); //COMMENT ABOVE setResizable(false) method and CALL THE CODE HERE THEN THERE'S NO PROBLEM ??????? aFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); ??? } } From alexandr.scherbatiy at oracle.com Wed Jan 22 07:23:00 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Wed, 22 Jan 2014 19:23:00 +0400 Subject: Setting a component orientation in JRSUI Message-ID: <52DFE254.7040408@oracle.com> Hello, Below is the code that shows that setting a component orientation for the JProgressBar in Aqua L&F does not work. My assumption was that the Direction should be properly set to the painter state in the AquaProgressBarUI like: ----------------------------- public void paint(final Graphics g, final JComponent c) { ... painter.state.set(c.getComponentOrientation().isLeftToRight() ? Direction.RIGHT : Direction.LEFT); } ----------------------------- but it does not work. The painter calls the JRSUI library to show components on Mac OS X. Is there any specification for the JRSUI library? What is the right way to set the component direction in the JRSUI. Thanks, Alexandr. ------------------ Code Sample ---------- import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JProgressBarOrientationTest { static boolean leftToRight = true; public static void main(String[] args) throws Exception { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { JFrame frame = new JFrame(); frame.setSize(300, 200); final JProgressBar progressBar = new JProgressBar(0, 100); progressBar.setValue(30); progressBar.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); JButton button = new JButton("Change orientation"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { leftToRight = !leftToRight; progressBar.setComponentOrientation(leftToRight ? ComponentOrientation.LEFT_TO_RIGHT : ComponentOrientation.RIGHT_TO_LEFT); } }); JPanel panel = new JPanel(new BorderLayout()); panel.add(progressBar, BorderLayout.CENTER); panel.add(button, BorderLayout.SOUTH); frame.getContentPane().add(panel); frame.setVisible(true); } }); } } ------------------------------------- From brent.christian at oracle.com Wed Jan 22 14:45:07 2014 From: brent.christian at oracle.com (Brent Christian) Date: Wed, 22 Jan 2014 14:45:07 -0800 Subject: (7u backport) RFR: 7199674 - (props) user.home property does not return an accessible location in sandboxed environment [macosx] Message-ID: <52E049F3.1060609@oracle.com> (forgot to include macosx-port-dev at openjdk.java.net) Hi, I would like to backport this fix from 8 to 7u. https://bugs.openjdk.java.net/browse/JDK-7199674 The source code changes apply cleanly to 7u from the 8 changeset, however the makefile changes needed to be tweaked. makefiles/CompileNativeLibraries.gmk did not exist in 7, so equivalent changes are made in make/java/java/Makefile instead. Since it's not a direct port of the 8 changes, my understanding is that the 7-specific changes should be reviewed. 7u40 webrev is here: http://cr.openjdk.java.net/~bchristi/7199674/7u/webrev.0/ Again, the only difference from the 8 fix is in make/java/java/Makefile. For reference: * JDK 8 changeset: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5f81a12fed4d * JDK 8 review thread: http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-September/020699.html Thanks, -Brent From niagarasoft20-macosxportdev at yahoo.com Thu Jan 23 11:14:02 2014 From: niagarasoft20-macosxportdev at yahoo.com (niagarasoft20-macosxportdev at yahoo.com) Date: Thu, 23 Jan 2014 11:14:02 -0800 (PST) Subject: Fw: JFrame.setResizable(false) brings unexpected behaviour in j2sdk 8 In-Reply-To: <1390270967.85273.YahooMailNeo@web121804.mail.ne1.yahoo.com> References: <1390270967.85273.YahooMailNeo@web121804.mail.ne1.yahoo.com> Message-ID: <1390504442.89629.YahooMailNeo@web121803.mail.ne1.yahoo.com> > Hello , I've come across something I've never had an issue with until > Java 8. The code below results in the JFrame zooming from the normally placed > screen position (upper left hand corner) down to the lower left hand corner > position. If I call the setResizable(false) method after the JFrame is visible > then there is no problem. What is going on? See the same code below: > > ============ JFramePositionTest.java ======================= > > import javax.swing.*; > import java.awt.*; > > public class JFramePositionTest { > > ??? public static void main (String args[]){ > ??????? new JFramePositionTest(); > ??? } > > ??? public JFramePositionTest(){ > ??????? JFrame aFrame = new JFrame(); > ??????? aFrame.setSize(300,300); > ??????? aFrame.setResizable(false); > ??????? aFrame.setVisible(true); > ??????? //aFrame.setResizable(false); //COMMENT ABOVE setResizable(false) method > and CALL THE CODE HERE THEN THERE'S NO PROBLEM > ??????? aFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); > > > ??? } > > } > From petr.pchelko at oracle.com Thu Jan 23 11:28:40 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Thu, 23 Jan 2014 23:28:40 +0400 Subject: JFrame.setResizable(false) brings unexpected behaviour in j2sdk 8 In-Reply-To: <1390270967.85273.YahooMailNeo@web121804.mail.ne1.yahoo.com> References: <1390270967.85273.YahooMailNeo@web121804.mail.ne1.yahoo.com> Message-ID: <9FBF55C4-211D-4256-B06A-4B583DB33AA3@oracle.com> Hello, Yes, this indeed is a regression in JDK 8. I?ve created an issue for you: https://bugs.openjdk.java.net/browse/JDK-8032595 Thank you for reporting this problem. With best regards. Petr. 21 ???. 2014 ?., ? 6:22 ?? ???????, niagarasoft20-macosxportdev at yahoo.com ???????(?): > import javax.swing.*; > import java.awt.*; > > public class JFramePositionTest { > > public static void main (String args[]){ > new JFramePositionTest(); > } > > public JFramePositionTest(){ > JFrame aFrame = new JFrame(); > aFrame.setSize(300,300); > aFrame.setResizable(false); > aFrame.setVisible(true); > //aFrame.setResizable(false); //COMMENT ABOVE setResizable(false) method and CALL THE CODE HERE THEN THERE'S NO PROBLEM > aFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); > > } > > } From hs at tagtraum.com Fri Jan 24 00:05:10 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Fri, 24 Jan 2014 09:05:10 +0100 Subject: Drawing HiDPI component to BufferedImage Message-ID: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> Hey, to animate a component, I usually draw it to a BufferedImage and then draw that image to the glass pane, where I can easily move it around without having to completely re-render the component all the time. Unfortunately, this technique does not work well on Retina/HiDPI displays, as I can't seem to be able to convince any components to render in high resolution to a BufferedImage. Is there a way to paint components to BufferedImages in high resolution? I'd like something like: final Image image = component.createImage(component.getWidth(), component.getHeight()); component.paint(image.getGraphics()); // then go on to use the image... to work properly. Thanks, -hendrik From alexandr.scherbatiy at oracle.com Fri Jan 24 04:39:26 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 24 Jan 2014 16:39:26 +0400 Subject: Drawing HiDPI component to BufferedImage In-Reply-To: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> References: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> Message-ID: <52E25EFE.7010108@oracle.com> Hi Hendrik, The API that allows to create custom images for HiDPI displays is only under discussion now. It can be found in the thread: http://mail.openjdk.java.net/pipermail/awt-dev/2014-January/006775.html It also contains a link to the patch that allows SunGraphics2D class to correctly draw multi-resolution images. You can try to apply the patch to the JDK 9 and check that it works for your case. Thanks, Alexandr. On 1/24/2014 12:05 PM, Hendrik Schreiber wrote: > Hey, > > to animate a component, I usually draw it to a BufferedImage and then draw that image to the glass pane, where I can easily move it around without having to completely re-render the component all the time. Unfortunately, this technique does not work well on Retina/HiDPI displays, as I can't seem to be able to convince any components to render in high resolution to a BufferedImage. > > Is there a way to paint components to BufferedImages in high resolution? > I'd like something like: > > final Image image = component.createImage(component.getWidth(), component.getHeight()); > component.paint(image.getGraphics()); > // then go on to use the image... > > to work properly. > > Thanks, > > -hendrik From hs at tagtraum.com Fri Jan 24 05:23:43 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Fri, 24 Jan 2014 14:23:43 +0100 Subject: Drawing HiDPI component to BufferedImage In-Reply-To: <52E25EFE.7010108@oracle.com> References: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> <52E25EFE.7010108@oracle.com> Message-ID: <6FB91153-5AD0-4E67-B77F-62D5F29AA869@tagtraum.com> On Jan 24, 2014, at 13:39, Alexander Scherbatiy wrote: > The API that allows to create custom images for HiDPI displays is only under discussion now. > It can be found in the thread: http://mail.openjdk.java.net/pipermail/awt-dev/2014-January/006775.html > It also contains a link to the patch that allows SunGraphics2D class to correctly draw multi-resolution images. > > You can try to apply the patch to the JDK 9 and check that it works for your case. Thanks, Alexandr. I wasn't necessarily looking for special images that support HiDPI. I just wanted to be able to draw a standard component (e.g. a JButton) to a BufferedImage in a way that causes the component to be rendered *as if* the given BufferedImage supported high resolution. Say the button is 16x16 pixels large in reg. DPI. Then I'd love to render the thing to a 32x32 BufferedImage in HiDPI. But other than rendering to the screen, there doesn't seem to be a way to convince the button that it should now render its HiDPI version. Thanks. -hendrik > On 1/24/2014 12:05 PM, Hendrik Schreiber wrote: >> Hey, >> >> to animate a component, I usually draw it to a BufferedImage and then draw that image to the glass pane, where I can easily move it around without having to completely re-render the component all the time. Unfortunately, this technique does not work well on Retina/HiDPI displays, as I can't seem to be able to convince any components to render in high resolution to a BufferedImage. >> >> Is there a way to paint components to BufferedImages in high resolution? >> I'd like something like: >> >> final Image image = component.createImage(component.getWidth(), component.getHeight()); >> component.paint(image.getGraphics()); >> // then go on to use the image... >> >> to work properly. >> >> Thanks, >> >> -hendrik > From Sergey.Bylokhov at oracle.com Fri Jan 24 05:31:04 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Fri, 24 Jan 2014 17:31:04 +0400 Subject: Drawing HiDPI component to BufferedImage In-Reply-To: <6FB91153-5AD0-4E67-B77F-62D5F29AA869@tagtraum.com> References: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> <52E25EFE.7010108@oracle.com> <6FB91153-5AD0-4E67-B77F-62D5F29AA869@tagtraum.com> Message-ID: <52E26B18.5060009@oracle.com> On 24.01.2014 17:23, Hendrik Schreiber wrote: > On Jan 24, 2014, at 13:39, Alexander Scherbatiy wrote: > >> The API that allows to create custom images for HiDPI displays is only under discussion now. >> It can be found in the thread: http://mail.openjdk.java.net/pipermail/awt-dev/2014-January/006775.html >> It also contains a link to the patch that allows SunGraphics2D class to correctly draw multi-resolution images. >> >> You can try to apply the patch to the JDK 9 and check that it works for your case. > Thanks, Alexandr. > > I wasn't necessarily looking for special images that support HiDPI. I just wanted to be able to draw a standard component (e.g. a JButton) to a BufferedImage in a way that causes the component to be rendered *as if* the given BufferedImage supported high resolution. > > Say the button is 16x16 pixels large in reg. DPI. > Then I'd love to render the thing to a 32x32 BufferedImage in HiDPI. > But other than rendering to the screen, there doesn't seem to be a way to convince the button that it should now render its HiDPI version. You can draw the component to the VolatileImage. or you can create double size bufferedimage and set scale on its graphics to 2. > > Thanks. > > -hendrik > > >> On 1/24/2014 12:05 PM, Hendrik Schreiber wrote: >>> Hey, >>> >>> to animate a component, I usually draw it to a BufferedImage and then draw that image to the glass pane, where I can easily move it around without having to completely re-render the component all the time. Unfortunately, this technique does not work well on Retina/HiDPI displays, as I can't seem to be able to convince any components to render in high resolution to a BufferedImage. >>> >>> Is there a way to paint components to BufferedImages in high resolution? >>> I'd like something like: >>> >>> final Image image = component.createImage(component.getWidth(), component.getHeight()); >>> component.paint(image.getGraphics()); >>> // then go on to use the image... >>> >>> to work properly. >>> >>> Thanks, >>> >>> -hendrik -- Best regards, Sergey. From hs at tagtraum.com Fri Jan 24 06:20:03 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Fri, 24 Jan 2014 15:20:03 +0100 Subject: Drawing HiDPI component to BufferedImage In-Reply-To: <52E26B18.5060009@oracle.com> References: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> <52E25EFE.7010108@oracle.com> <6FB91153-5AD0-4E67-B77F-62D5F29AA869@tagtraum.com> <52E26B18.5060009@oracle.com> Message-ID: <92213419-462C-4141-A366-3FF1578711BF@tagtraum.com> On Jan 24, 2014, at 14:31, Sergey Bylokhov wrote: > You can draw the component to the VolatileImage. or you can create double size bufferedimage and set scale on its graphics to 2. Drawing to a VolatileImage created via GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice() .getDefaultConfiguration().createCompatibleVolatileImage(100, 100); seems to do the trick. However, your other suggestion (double size bufferedimage), does not work. Is this intended or a bug? Thanks! -hendrik Here's a simple demo class. I'd expect both checkboxes to render in the same quality, but they don't using a BufferedImage. import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; public class RenderHiDPI { public static void main(String[] args) { final JFrame frame = new JFrame(); final JLabel label = new JLabel(); frame.getContentPane().setLayout(new FlowLayout()); final JCheckBox hiDPICheckBox = new JCheckBox("Hi DPI"); hiDPICheckBox.setFocusable(false); frame.getContentPane().add(hiDPICheckBox); frame.getContentPane().add(label); final JCheckBox checkBox = new JCheckBox("Lo DPI"); checkBox.setSize(new Dimension(100, 100)); final BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB); final Graphics g = image.getGraphics(); ((Graphics2D)g).scale(2f, 2f); checkBox.paint(g); g.dispose(); label.setIcon(new Icon(){ @Override public void paintIcon(final Component c, final Graphics g, final int x, final int y) { final Graphics2D graphics = (Graphics2D)g.create(); graphics.scale(0.5f, 0.5f); graphics.drawImage(image, x, y, c); } @Override public int getIconWidth() { return 100; } @Override public int getIconHeight() { return 100; } }); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { frame.setBounds(100, 100, 100, 100); frame.setVisible(true); } }); } } From Sergey.Bylokhov at oracle.com Fri Jan 24 06:35:42 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Fri, 24 Jan 2014 18:35:42 +0400 Subject: Drawing HiDPI component to BufferedImage In-Reply-To: <92213419-462C-4141-A366-3FF1578711BF@tagtraum.com> References: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> <52E25EFE.7010108@oracle.com> <6FB91153-5AD0-4E67-B77F-62D5F29AA869@tagtraum.com> <52E26B18.5060009@oracle.com> <92213419-462C-4141-A366-3FF1578711BF@tagtraum.com> Message-ID: <52E27A3E.6010308@oracle.com> On 24.01.2014 18:20, Hendrik Schreiber wrote: > However, your other suggestion (double size bufferedimage), does not work. Is this intended or a bug? What happen if you change l&f to the Nimbus? I suggest to file the new CR to investigate this. > > Thanks! > > -hendrik > > > > Here's a simple demo class. I'd expect both checkboxes to render in the same quality, but they don't using a BufferedImage. > > import javax.swing.*; > import java.awt.*; > import java.awt.image.BufferedImage; > > public class RenderHiDPI { > > public static void main(String[] args) { > final JFrame frame = new JFrame(); > final JLabel label = new JLabel(); > frame.getContentPane().setLayout(new FlowLayout()); > final JCheckBox hiDPICheckBox = new JCheckBox("Hi DPI"); > hiDPICheckBox.setFocusable(false); > frame.getContentPane().add(hiDPICheckBox); > frame.getContentPane().add(label); > final JCheckBox checkBox = new JCheckBox("Lo DPI"); > checkBox.setSize(new Dimension(100, 100)); > final BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB); > final Graphics g = image.getGraphics(); > ((Graphics2D)g).scale(2f, 2f); > checkBox.paint(g); > g.dispose(); > label.setIcon(new Icon(){ > @Override > public void paintIcon(final Component c, final Graphics g, final int x, final int y) { > final Graphics2D graphics = (Graphics2D)g.create(); > graphics.scale(0.5f, 0.5f); > graphics.drawImage(image, x, y, c); > } > > @Override > public int getIconWidth() { > return 100; > } > > @Override > public int getIconHeight() { > return 100; > } > }); > > SwingUtilities.invokeLater(new Runnable() { > @Override > public void run() { > frame.setBounds(100, 100, 100, 100); > frame.setVisible(true); > } > }); > } > } -- Best regards, Sergey. From hs at tagtraum.com Fri Jan 24 07:01:20 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Fri, 24 Jan 2014 16:01:20 +0100 Subject: Drawing HiDPI component to BufferedImage In-Reply-To: <52E27A3E.6010308@oracle.com> References: <4183B3D6-03CD-45AC-87C6-59F5B302B97A@tagtraum.com> <52E25EFE.7010108@oracle.com> <6FB91153-5AD0-4E67-B77F-62D5F29AA869@tagtraum.com> <52E26B18.5060009@oracle.com> <92213419-462C-4141-A366-3FF1578711BF@tagtraum.com> <52E27A3E.6010308@oracle.com> Message-ID: <31F1E2F8-2095-4E25-A782-D87E0F70F95E@tagtraum.com> On Jan 24, 2014, at 15:35, Sergey Bylokhov wrote: > On 24.01.2014 18:20, Hendrik Schreiber wrote: >> However, your other suggestion (double size bufferedimage), does not work. Is this intended or a bug? > What happen if you change l&f to the Nimbus? I suggest to file the new CR to investigate this. Same behavior on Nimbus. I filed Oracle bug 9009940. Thanks again for the VolatileImage hint, -hendrik PS: BTW: Perhaps somebody should modify the input form for bugs on http://bugreport.sun.com/bugreport/start_form.jsp to allow for Operating Systems later than OS X 10.7... From hs at tagtraum.com Fri Jan 24 07:45:48 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Fri, 24 Jan 2014 16:45:48 +0100 Subject: HiDPI DragImages seem to be impossible Message-ID: <4A61DFE0-CB51-4F3E-940D-09A6D083E1AC@tagtraum.com> Hey... On OS X it is possible to pass a dragImage to java.awt.dnd.DragSource#startDrag(...), which is then shown during the drag operation. Unfortunately, it is not possible to pass HiDPI images. Even when passing a VolatileImage, which (see other thread) apparently allows to render HiDPI components, a low quality version is used during the drag operation. I assume this will all be addressed when the rest of the Retina/HiDPI support is put into place. However, I just wanted to make you aware of this, as I assume it's an obscure corner of the whole HiDPI stuff... It would be nice to see explicit HiDPI support here, too. This could be done via MultiResolutionImages?or probably even nicer?by simply accepting Icons in the startDrag(...) method, as that's what one gets from the TransferHandler anyway. And Icons, being an interface, can be easily used to paint in different resolutions (if we know, what resolution to produce, different issue). Cheers, -hendrik From davmac at davmac.org Fri Jan 24 09:18:52 2014 From: davmac at davmac.org (Davin McCall) Date: Fri, 24 Jan 2014 17:18:52 +0000 Subject: Problem with key events in applets Message-ID: <52E2A07C.7050107@davmac.org> Hi, I've noticed a problem with key events in applets - specifically, "key released" are being inappropriately generated for some keys and not generated at all for other keys. I have a small demo applet, live version is here: http://bluej.org/davmac/KeyApplet.html The code is below. The applet presents a text area with an empty JPanel beneath it. When you click the JPanel, it requests focus, and clears the text area, and then key events (pressed, typed and released) are reported in the text area. (Note that the entire applet initially appears grey; just click near the bottom to restore the correct appearance). For letter keys, pressing and holding a key causes a repeating sequence: key pressed key typed key released key pressed key typed key released This is clearly incorrect; there should only be one 'key pressed' and one 'key released' for each press/release of the key. When an arrow key is pressed, held briefly and then released, the event sequence is: key pressed key pressed key pressed ... with no 'key released' events generated at all. So, there seems to be a bug with key event handling. Is this a known bug? Thanks, Davin Code: === KeyApplet.java === import java.awt.*; import java.awt.event.*; import javax.swing.*; public class KeyApplet extends JApplet { private JPanel nPanel; public void init() { JRootPane rootPane = this.getRootPane(); final JTextArea textArea = new JTextArea("", 20, 60); textArea.append("Running!\n"); rootPane.setLayout(new BorderLayout()); rootPane.add(textArea, BorderLayout.CENTER); nPanel = new JPanel() { public Dimension getPreferredSize() { return new Dimension(500, 40); } }; nPanel.setFocusable(true); nPanel.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { try { textArea.getDocument().remove(0, textArea.getDocument().getLength()); } catch (Exception ble) {} textArea.append("Clicked!\n"); nPanel.requestFocusInWindow(); } }); rootPane.add(nPanel, BorderLayout.SOUTH); nPanel.addKeyListener(new KeyListener() { public void keyTyped(KeyEvent e) { textArea.append("Key typed!\n"); } public void keyReleased(KeyEvent e) { textArea.append("Key released!\n"); } public void keyPressed(KeyEvent e) { textArea.append("Key pressed!\n"); } }); } public void start() { repaint(); nPanel.requestFocusInWindow(); } } From rieser+javaosx at gmail.com Mon Jan 27 01:47:42 2014 From: rieser+javaosx at gmail.com (Marcel Rieser) Date: Mon, 27 Jan 2014 10:47:42 +0100 Subject: Gesture support in Java 7? Message-ID: Dear all, I've added gesture support to my Java 6 application using Apple's GestureUtilities and GestureAdapter class (com.apple.eawt.event.*). This works with Java 6, but when running the same code with Java 7 (u45), it does not work, although the classes seem to be included in the JRE. Are gestures supported on Oracle's Java 7 for Mac? Or do I have to change my code to make it work again in 7? Kind regards, Marcel From hs at tagtraum.com Tue Jan 28 10:12:41 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Tue, 28 Jan 2014 19:12:41 +0100 Subject: Properly code-signing an app with bundled JRE Message-ID: Hey.. it seems that Apple has changed the way codesign works. On Mavericks with current XCode, Unless you use the --deep option, your app isn't signed at all. And when you use --deep, it works fine as long as you don't bundle a JRE as plugin. Is anybody else having this issue... and perhaps a solution? Thanks, -hendrik PS: I'd be very surprised, if the official Oracle recommendation (http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) actually still worked. From paul_t100 at fastmail.fm Tue Jan 28 10:28:19 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Tue, 28 Jan 2014 18:28:19 +0000 Subject: Properly code-signing an app with bundled JRE In-Reply-To: References: Message-ID: <52E7F6C3.1040402@fastmail.fm> On 28/01/2014 18:12, Hendrik Schreiber wrote: > Hey.. > > it seems that Apple has changed the way codesign works. On Mavericks with current XCode, Unless you use the --deep option, your app isn't signed at all. And when you use --deep, it works fine as long as you don't bundle a JRE as plugin. > > Is anybody else having this issue... and perhaps a solution? > > Thanks, > > -hendrik > > PS: I'd be very surprised, if the official Oracle recommendation (http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) actually still worked. > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Java-dev mailing list (Java-dev at lists.apple.com) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/java-dev/paul_t100%40fastmail.fm > > This email sent to paul_t100 at fastmail.fm I can confirm I had to change it to use --deep option a while ago for it to work, I do bundle it with a jre and it still works, but maybe not as a plugin not sure what you mean here. Paul From steve at weblite.ca Tue Jan 28 10:32:37 2014 From: steve at weblite.ca (Steve Hannah) Date: Tue, 28 Jan 2014 10:32:37 -0800 Subject: Properly code-signing an app with bundled JRE In-Reply-To: <52E7F6C3.1040402@fastmail.fm> References: <52E7F6C3.1040402@fastmail.fm> Message-ID: Those Oracle instructions have never worked for me. I needed to sign the bundled JRE, then sign the .app. Steve On Tue, Jan 28, 2014 at 10:28 AM, Paul Taylor wrote: > On 28/01/2014 18:12, Hendrik Schreiber wrote: > >> Hey.. >> >> it seems that Apple has changed the way codesign works. On Mavericks with >> current XCode, Unless you use the --deep option, your app isn't signed at >> all. And when you use --deep, it works fine as long as you don't bundle a >> JRE as plugin. >> >> Is anybody else having this issue... and perhaps a solution? >> >> Thanks, >> >> -hendrik >> >> PS: I'd be very surprised, if the official Oracle recommendation ( >> http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/ >> packagingAppsForMac.html) actually still worked. >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Java-dev mailing list (Java-dev at lists.apple.com) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/java-dev/paul_t100%40fastmail.fm >> >> This email sent to paul_t100 at fastmail.fm >> > I can confirm I had to change it to use --deep option a while ago for it > to work, I do bundle it with a jre and it still works, but maybe not as a > plugin not sure what you mean here. > > Paul > > -- Steve Hannah Web Lite Solutions Corp. From hs at tagtraum.com Tue Jan 28 10:56:05 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Tue, 28 Jan 2014 19:56:05 +0100 Subject: Properly code-signing an app with bundled JRE In-Reply-To: <52E7F6C3.1040402@fastmail.fm> References: <52E7F6C3.1040402@fastmail.fm> Message-ID: On Jan 28, 2014, at 19:28, Paul Taylor wrote: >> This email sent to paul_t100 at fastmail.fm > I can confirm I had to change it to use --deep option a while ago for it to work, I do bundle it with a jre and it still works, but maybe not as a plugin not sure what you mean here. I package the JRE into MyApp.app/Contents/PlugIns/jre - so in essence it's a plugin. Would you mind sharing your codesign call, Paul? Thank you. -hendrik From hs at tagtraum.com Tue Jan 28 11:05:24 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Tue, 28 Jan 2014 20:05:24 +0100 Subject: Properly code-signing an app with bundled JRE In-Reply-To: References: <52E7F6C3.1040402@fastmail.fm> Message-ID: On Jan 28, 2014, at 19:56, Hendrik Schreiber wrote: > On Jan 28, 2014, at 19:28, Paul Taylor wrote: > >>> This email sent to paul_t100 at fastmail.fm >> I can confirm I had to change it to use --deep option a while ago for it to work, I do bundle it with a jre and it still works, but maybe not as a plugin not sure what you mean here. > > I package the JRE into MyApp.app/Contents/PlugIns/jre - so in essence it's a plugin. > > Would you mind sharing your codesign call, Paul? Though from reading http://furbo.org/2013/10/17/code-signing-and-mavericks/ it sounds like Steve took the "correct" approach by signing the plugin individually. -hendrik From paul_t100 at fastmail.fm Tue Jan 28 12:36:46 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Tue, 28 Jan 2014 20:36:46 +0000 Subject: Properly code-signing an app with bundled JRE In-Reply-To: References: <52E7F6C3.1040402@fastmail.fm> Message-ID: <52E814DE.50508@fastmail.fm> On 28/01/2014 19:05, Hendrik Schreiber wrote: > On Jan 28, 2014, at 19:56, Hendrik Schreiber wrote: > >> On Jan 28, 2014, at 19:28, Paul Taylor wrote: >> >>>> This email sent to paul_t100 at fastmail.fm >>> I can confirm I had to change it to use --deep option a while ago for it to work, I do bundle it with a jre and it still works, but maybe not as a plugin not sure what you mean here. >> I package the JRE into MyApp.app/Contents/PlugIns/jre - so in essence it's a plugin. >> >> Would you mind sharing your codesign call, Paul? > Though from reading http://furbo.org/2013/10/17/code-signing-and-mavericks/ it sounds like Steve took the "correct" approach by signing the plugin individually. > > -hendrik Ah right, I package my application up using the BitBucket branch AppBundler https://bitbucket.org/infinitekind/appbundler whihc just relelized all puts the jre in the plugin folder but I only have to do this /usr/bin/codesign --sign "Developer ID Application: P Taylor" --force --deep --verbose /Applications/SongKong.app /usr/bin/codesign --verify --deep --verbose /Applications/SongKong.app and it works, or at least seems to. Paul From hs at tagtraum.com Tue Jan 28 14:52:55 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Tue, 28 Jan 2014 23:52:55 +0100 Subject: Properly code-signing an app with bundled JRE In-Reply-To: <52E814DE.50508@fastmail.fm> References: <52E7F6C3.1040402@fastmail.fm> <52E814DE.50508@fastmail.fm> Message-ID: <7F9249F4-4319-47BA-9C27-940DD1C10714@tagtraum.com> On Jan 28, 2014, at 21:36, Paul Taylor wrote: > Ah right, I package my application up using the BitBucket branch AppBundler https://bitbucket.org/infinitekind/appbundler whihc just relelized all puts the jre in the plugin folder > > but I only have to do this > > /usr/bin/codesign --sign "Developer ID Application: P Taylor" --force --deep --verbose /Applications/SongKong.app > /usr/bin/codesign --verify --deep --verbose /Applications/SongKong.app Thanks, Paul. I revisited my code an realized that I had followed the advice given by http://www.red-sweater.com/blog/2390/developer-id-gotcha , i.e. I did something like: codesign -f --sign "Developer ID" \\ -r='designated => certificate leaf H"xxx" and \\ identifier "com.red-sweater.marsedit"' MarsEdit.app \\ Naturally, with a plugin that has a different bundle id, this approach does not work. I tried your approach, which seems to be the standard approach, and got the impression it works. This means the Oracle instructions on http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html should be changed to include the --deep flag. Perhaps someone with Oracle-connections could instigate this change to happen. Thanks again, Paul, for sharing. -hendrik From krueger at lesspain.de Thu Jan 30 00:52:01 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Thu, 30 Jan 2014 09:52:01 +0100 Subject: Nimbus color differences between JDK versions Message-ID: Hi, we are in the process of migrating an application from Apple JDK 6 to OpenJDK 8, which is going pretty well thanks to the progress that's been made in recent months by the Oracle team (thanks for that). Now we discovered that for the time being we will have to deploy with a bundled Oracle JRE 7 (currently testing v. 1.7.0_51). When we started our application with that runtime, we encountered significant problems with UI colors (see attached screen shots comparing a tree in the three mentioned runtimes). Now, the color difference between Apple JDK and Open JDK is not the main problem but the one with Oracle JRE 7 certainly is because in Nimbus (which we use with some color modifications), the color changes don't seem to be consistent leading to the effect that you see in the tree example. Before I put lots of "if (jdkVersion == X) modify colors ..." in our code and adjust this by trial and error, is this known and is there a better approach for solving this systematically? Here are the screenshots as links (if they don't make it through as attachments): https://dl.dropboxusercontent.com/u/33388463/colors-jdk6-s.png https://dl.dropboxusercontent.com/u/33388463/colors-jdk7-s.png https://dl.dropboxusercontent.com/u/33388463/colors-jdk8-s.png Thanks, Robert From Sergey.Bylokhov at oracle.com Thu Jan 30 03:01:11 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Thu, 30 Jan 2014 15:01:11 +0400 Subject: Nimbus color differences between JDK versions In-Reply-To: References: Message-ID: <52EA30F7.8010507@oracle.com> Hi, Robert. These links are not accessible too. Error (404). On 30.01.2014 12:52, Robert Kr?ger wrote: > Here are the screenshots as links (if they don't make it through as > attachments): > > https://dl.dropboxusercontent.com/u/33388463/colors-jdk6-s.png > https://dl.dropboxusercontent.com/u/33388463/colors-jdk7-s.png > https://dl.dropboxusercontent.com/u/33388463/colors-jdk8-s.png > > Thanks, > > Robert -- Best regards, Sergey. From krueger at lesspain.de Thu Jan 30 04:28:58 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Thu, 30 Jan 2014 13:28:58 +0100 Subject: Nimbus color differences between JDK versions In-Reply-To: <52EA30F7.8010507@oracle.com> References: <52EA30F7.8010507@oracle.com> Message-ID: Sorry, my dropbox ran out of space. Should be OK now. On Thu, Jan 30, 2014 at 12:01 PM, Sergey Bylokhov wrote: > Hi, Robert. > These links are not accessible too. Error (404). > > On 30.01.2014 12:52, Robert Kr?ger wrote: >> >> Here are the screenshots as links (if they don't make it through as >> attachments): >> >> https://dl.dropboxusercontent.com/u/33388463/colors-jdk6-s.png >> https://dl.dropboxusercontent.com/u/33388463/colors-jdk7-s.png >> https://dl.dropboxusercontent.com/u/33388463/colors-jdk8-s.png >> >> Thanks, >> >> Robert > > > > -- > Best regards, Sergey. > From alexandr.scherbatiy at oracle.com Thu Jan 30 05:30:15 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Thu, 30 Jan 2014 17:30:15 +0400 Subject: Nimbus color differences between JDK versions In-Reply-To: References: Message-ID: <52EA53E7.10402@oracle.com> Hi Robert, Could you send a sample that draws a JTree and set necessary icons/colors in the Nimbus L&F to investigate the issue? Thanks, Alexandr. On 1/30/2014 12:52 PM, Robert Kr?ger wrote: > Hi, > > we are in the process of migrating an application from Apple JDK 6 to > OpenJDK 8, which is going pretty well thanks to the progress that's > been made in recent months by the Oracle team (thanks for that). Now > we discovered that for the time being we will have to deploy with a > bundled Oracle JRE 7 (currently testing v. 1.7.0_51). When we started > our application with that runtime, we encountered significant problems > with UI colors (see attached screen shots comparing a tree in the > three mentioned runtimes). Now, the color difference between Apple JDK > and Open JDK is not the main problem but the one with Oracle JRE 7 > certainly is because in Nimbus (which we use with some color > modifications), the color changes don't seem to be consistent leading > to the effect that you see in the tree example. Before I put lots of > "if (jdkVersion == X) modify colors ..." in our code and adjust this > by trial and error, is this known and is there a better approach for > solving this systematically? > > Here are the screenshots as links (if they don't make it through as > attachments): > > https://dl.dropboxusercontent.com/u/33388463/colors-jdk6-s.png > https://dl.dropboxusercontent.com/u/33388463/colors-jdk7-s.png > https://dl.dropboxusercontent.com/u/33388463/colors-jdk8-s.png > > Thanks, > > Robert From david.dehaven at oracle.com Thu Jan 30 11:16:21 2014 From: david.dehaven at oracle.com (David DeHaven) Date: Thu, 30 Jan 2014 11:16:21 -0800 Subject: Problem with key events in applets In-Reply-To: <52E2A07C.7050107@davmac.org> References: <52E2A07C.7050107@davmac.org> Message-ID: <6A53BC0E-D1FC-4CC4-BC72-F77987E1B3CD@oracle.com> > Hi, > > I've noticed a problem with key events in applets - specifically, "key released" are being inappropriately generated for some keys and not generated at all for other keys. I have a small demo applet, live version is here: > > http://bluej.org/davmac/KeyApplet.html There are several known issues with key events in applets on Mac OS X at the moment, these were introduced when we switched to use the browser's IME handlers for international characters. This will likely be fixed when this issue is: https://bugs.openjdk.java.net/browse/JDK-8013948 -DrD- From paul_t100 at fastmail.fm Fri Jan 31 02:47:13 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Fri, 31 Jan 2014 10:47:13 +0000 Subject: Java 7 application halting OSX when left unatteended Message-ID: <52EB7F31.6050802@fastmail.fm> My (java 7 based) Gui application processes digital music files, and is designed so it can be left unattended. I have noticed that if I leave it running overnight on my OSX Mavericks computer that it stops shortly after I leave it, only continuing when I touch the keyboard in the morning. How can I prevent this, I do not have the same problem running the application on a Windows 8 machine. paul From petr.pchelko at oracle.com Fri Jan 31 02:54:10 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Fri, 31 Jan 2014 14:54:10 +0400 Subject: Java 7 application halting OSX when left unatteended In-Reply-To: <52EB7F31.6050802@fastmail.fm> References: <52EB7F31.6050802@fastmail.fm> Message-ID: <19724118-F589-4BAD-A34C-D95EF443B94C@oracle.com> Hello, Paul. Is this issue specific to Mavericks or it is also reproducible on 10.8? Could you please provide some test case to reproduce? Or any Swing based application with some background task would work? Thank you. With best regards. Petr. 31 ???. 2014 ?., ? 2:47 ????? ???????, Paul Taylor ???????(?): > My (java 7 based) Gui application processes digital music files, and is designed so it can be left unattended. I have noticed that if I leave it running overnight on my OSX Mavericks computer that it stops shortly after I leave it, only continuing when I touch the keyboard in the morning. > > How can I prevent this, I do not have the same problem running the application on a Windows 8 machine. > > paul From hs at tagtraum.com Fri Jan 31 02:58:45 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Fri, 31 Jan 2014 11:58:45 +0100 Subject: Java 7 application halting OSX when left unatteended In-Reply-To: <19724118-F589-4BAD-A34C-D95EF443B94C@oracle.com> References: <52EB7F31.6050802@fastmail.fm> <19724118-F589-4BAD-A34C-D95EF443B94C@oracle.com> Message-ID: <75BC7E5E-EC1B-4743-BC65-19B3264AAF6A@tagtraum.com> This smells like App Nap. See http://krypted.com/mac-os-x/disable-app-nap-in-mavericks/ -hendrik On Jan 31, 2014, at 11:54, Petr Pchelko wrote: > Hello, Paul. > > Is this issue specific to Mavericks or it is also reproducible on 10.8? > Could you please provide some test case to reproduce? Or any Swing based application with some background task would work? > > Thank you. > With best regards. Petr. > > 31 ???. 2014 ?., ? 2:47 ????? ???????, Paul Taylor ???????(?): > >> My (java 7 based) Gui application processes digital music files, and is designed so it can be left unattended. I have noticed that if I leave it running overnight on my OSX Mavericks computer that it stops shortly after I leave it, only continuing when I touch the keyboard in the morning. >> >> How can I prevent this, I do not have the same problem running the application on a Windows 8 machine. >> >> paul > From paul_t100 at fastmail.fm Fri Jan 31 03:04:37 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Fri, 31 Jan 2014 11:04:37 +0000 Subject: Java 7 application halting OSX when left unatteended In-Reply-To: <75BC7E5E-EC1B-4743-BC65-19B3264AAF6A@tagtraum.com> References: <52EB7F31.6050802@fastmail.fm> <19724118-F589-4BAD-A34C-D95EF443B94C@oracle.com> <75BC7E5E-EC1B-4743-BC65-19B3264AAF6A@tagtraum.com> Message-ID: <52EB8345.4030801@fastmail.fm> On 31/01/2014 10:58, Hendrik Schreiber wrote: > This smells like App Nap. > See http://krypted.com/mac-os-x/disable-app-nap-in-mavericks/ > > -hendrik > I'm just testing it with AppNap will report back later, if this doesnt fix it I'll dig out by 10.8 machine and see if the problem occurs there as well Paul From krueger at lesspain.de Fri Jan 31 05:20:13 2014 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Fri, 31 Jan 2014 14:20:13 +0100 Subject: Nimbus color differences between JDK versions In-Reply-To: <52EA53E7.10402@oracle.com> References: <52EA53E7.10402@oracle.com> Message-ID: Hi, my email may have been premature. I just learned that we are mixing Nimbus and Quaqua (using a modified QuaquaTreeUI in our UI which is derived from Nimbus) and maybe the color difference comes from a behavioral change in one of the L&Fs resulting in the color mismatch. I will report back after some more investigation. Regards, Robert On Thu, Jan 30, 2014 at 2:30 PM, Alexander Scherbatiy wrote: > > Hi Robert, > > Could you send a sample that draws a JTree and set necessary icons/colors > in the Nimbus L&F to investigate the issue? > > Thanks, > Alexandr. > > > > On 1/30/2014 12:52 PM, Robert Kr?ger wrote: >> >> Hi, >> >> we are in the process of migrating an application from Apple JDK 6 to >> OpenJDK 8, which is going pretty well thanks to the progress that's >> been made in recent months by the Oracle team (thanks for that). Now >> we discovered that for the time being we will have to deploy with a >> bundled Oracle JRE 7 (currently testing v. 1.7.0_51). When we started >> our application with that runtime, we encountered significant problems >> with UI colors (see attached screen shots comparing a tree in the >> three mentioned runtimes). Now, the color difference between Apple JDK >> and Open JDK is not the main problem but the one with Oracle JRE 7 >> certainly is because in Nimbus (which we use with some color >> modifications), the color changes don't seem to be consistent leading >> to the effect that you see in the tree example. Before I put lots of >> "if (jdkVersion == X) modify colors ..." in our code and adjust this >> by trial and error, is this known and is there a better approach for >> solving this systematically? >> >> Here are the screenshots as links (if they don't make it through as >> attachments): >> >> https://dl.dropboxusercontent.com/u/33388463/colors-jdk6-s.png >> https://dl.dropboxusercontent.com/u/33388463/colors-jdk7-s.png >> https://dl.dropboxusercontent.com/u/33388463/colors-jdk8-s.png >> >> Thanks, >> >> Robert > > From paul_t100 at fastmail.fm Fri Jan 31 06:15:23 2014 From: paul_t100 at fastmail.fm (Paul Taylor) Date: Fri, 31 Jan 2014 14:15:23 +0000 Subject: Java 7 application halting OSX when left unatteended In-Reply-To: <52EB8345.4030801@fastmail.fm> References: <52EB7F31.6050802@fastmail.fm> <19724118-F589-4BAD-A34C-D95EF443B94C@oracle.com> <75BC7E5E-EC1B-4743-BC65-19B3264AAF6A@tagtraum.com> <52EB8345.4030801@fastmail.fm> Message-ID: <52EBAFFB.7050000@fastmail.fm> On 31/01/2014 11:04, Paul Taylor wrote: > On 31/01/2014 10:58, Hendrik Schreiber wrote: >> This smells like App Nap. >> See http://krypted.com/mac-os-x/disable-app-nap-in-mavericks/ >> >> -hendrik >> > I'm just testing it with AppNap will report back later, if this doesnt > fix it I'll dig out by 10.8 machine and see if the problem occurs > there as well > > Paul > Thanks it does indeed to seem to be AppNap. Well it might be a combination of a couple of things Ive realized in my OSX Preferences I have Energy Saver/Display Sleep and Computer Sleep set to 15 minutes, so I guess that after 15 minutes the Display Sleep will make the screen go black even if progress bar updating because no user has touched keyboard/mouse but computer sleep doesnt kick in because its detect the application is active. But then once Display Sleep is blank that tells AppNap it can pause any application and it does. Clicking on the Properties of the Application and preventing AppNap seems to ensure process continues processing even after screen gone black Is my summary correct ? Paul