From Sergey.Bylokhov at oracle.com Tue Apr 1 11:46:00 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Tue, 01 Apr 2014 15:46:00 +0400 Subject: [9] Review Request: 8029196 Focus border of JButton.buttonType=roundRect is cut off Message-ID: <533AA6F8.1090709@oracle.com> Hello. Please review the fix for jdk 9. JRS draws all component in specified bounds, but if a component is in focus, the frame of focus can exceed the limit of the specified bounds. The focusable components take this into account in the insets, but we cut the focus anyway, because we create the buffer image in bounds size. In the fix this image was increased by the focus size in each direction. Bug: https://bugs.openjdk.java.net/browse/JDK-8029196 Webrev can be found at: http://cr.openjdk.java.net/~serb/8029196/webrev.00 -- Best regards, Sergey. From petr.pchelko at oracle.com Tue Apr 1 12:33:05 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Tue, 1 Apr 2014 16:33:05 +0400 Subject: [9] Review Request: 8029196 Focus border of JButton.buttonType=roundRect is cut off In-Reply-To: <533AA6F8.1090709@oracle.com> References: <533AA6F8.1090709@oracle.com> Message-ID: <095516FC-B2D2-40CC-99B4-441C0301A527@oracle.com> Hello, Sergey. Does the fix work for retina thin focuses and non-retina thick? With best regards. Petr. On 01.04.2014, at 15:46, Sergey Bylokhov wrote: > Hello. > Please review the fix for jdk 9. > JRS draws all component in specified bounds, but if a component is in focus, the frame of focus can exceed the limit of the specified bounds. > The focusable components take this into account in the insets, but we cut the focus anyway, because we create the buffer image in bounds size. > In the fix this image was increased by the focus size in each direction. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8029196 > Webrev can be found at: http://cr.openjdk.java.net/~serb/8029196/webrev.00 > > -- > Best regards, Sergey. > From Sergey.Bylokhov at oracle.com Tue Apr 1 12:53:21 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Tue, 01 Apr 2014 16:53:21 +0400 Subject: [9] Review Request: 8029196 Focus border of JButton.buttonType=roundRect is cut off In-Reply-To: <095516FC-B2D2-40CC-99B4-441C0301A527@oracle.com> References: <533AA6F8.1090709@oracle.com> <095516FC-B2D2-40CC-99B4-441C0301A527@oracle.com> Message-ID: <533AB6C1.8000906@oracle.com> On 4/1/14 4:33 PM, Petr Pchelko wrote: > Hello, Sergey. > > Does the fix work for retina thin focuses and non-retina thick? yes, it works in both cases. > > With best regards. Petr. > > On 01.04.2014, at 15:46, Sergey Bylokhov wrote: > >> Hello. >> Please review the fix for jdk 9. >> JRS draws all component in specified bounds, but if a component is in focus, the frame of focus can exceed the limit of the specified bounds. >> The focusable components take this into account in the insets, but we cut the focus anyway, because we create the buffer image in bounds size. >> In the fix this image was increased by the focus size in each direction. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8029196 >> Webrev can be found at: http://cr.openjdk.java.net/~serb/8029196/webrev.00 >> >> -- >> Best regards, Sergey. >> -- Best regards, Sergey. From petr.pchelko at oracle.com Tue Apr 1 13:00:59 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Tue, 1 Apr 2014 17:00:59 +0400 Subject: [9] Review Request: 8029196 Focus border of JButton.buttonType=roundRect is cut off In-Reply-To: <533AB6C1.8000906@oracle.com> References: <533AA6F8.1090709@oracle.com> <095516FC-B2D2-40CC-99B4-441C0301A527@oracle.com> <533AB6C1.8000906@oracle.com> Message-ID: <493C13BC-BAD5-4C13-A682-EAEB0AC746B0@oracle.com> Hello, Sergey. Thank you for the clarification. I was worried because the focus size is hard-coded. The fix looks good to me. With best regards. Petr. On 01.04.2014, at 16:53, Sergey Bylokhov wrote: > On 4/1/14 4:33 PM, Petr Pchelko wrote: >> Hello, Sergey. >> >> Does the fix work for retina thin focuses and non-retina thick? > yes, it works in both cases. >> >> With best regards. Petr. >> >> On 01.04.2014, at 15:46, Sergey Bylokhov wrote: >> >>> Hello. >>> Please review the fix for jdk 9. >>> JRS draws all component in specified bounds, but if a component is in focus, the frame of focus can exceed the limit of the specified bounds. >>> The focusable components take this into account in the insets, but we cut the focus anyway, because we create the buffer image in bounds size. >>> In the fix this image was increased by the focus size in each direction. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8029196 >>> Webrev can be found at: http://cr.openjdk.java.net/~serb/8029196/webrev.00 >>> >>> -- >>> Best regards, Sergey. >>> > > > -- > Best regards, Sergey. > From tobi at ultramixer.com Wed Apr 2 07:20:18 2014 From: tobi at ultramixer.com (Tobias Bley) Date: Wed, 2 Apr 2014 09:20:18 +0200 Subject: VolatileImages render incorrectly In-Reply-To: References: Message-ID: <20C6D95D-59BB-40C3-AB89-002419A3F491@ultramixer.com> Hi Jessica, we found this problem too and it?s very very disappointing. A real world desktop application on JDK 7 or 8 on a Mac doesn?t perform well - it?s tooo slow and we can?t ship our software with JDK 7 or 8 using BufferedImages. In our opinion JDK7/8 is not ready to release on Mac! But it is released! So why I can?t find thousand of bug reports concerning ?BufferedImages on JDK7/8 on Mac are not hardware accelerated????? Jessica, did you find any solution for the problem? Maybe there is a property to enable the VolatileImage backed BufferedImage? Best, Tobi Am 24.06.2013 um 20:09 schrieb Jessica Finley : > Hiya folks, > > I've run into a couple of problems with OpenJDK on Mac. Firstly, and what started me down this path, is the performance of rendering BufferedImages seems to have really tanked. It's as if they are not supported by hardware anymore (from vague references I've seen around the web, I understand that BufferedImages are supposed to be hardware accelerated.. and based on the performance on Windows (java 7) and Mac Java 6, I can believe that). In OpenJDK 7 and 8, rendering lots of BufferedImages causes performance to truly and horribly suffer on certain Macs (the Macs with the low end graphics cards really seem to show this, but it's noticeable on all Macs I've tested on). > > In an effort to speed up our software, I started using VolatileImages instead of BufferedImages in certain places and it has brought performance up to awesome. However, I noticed the problem that I describe in Sun Bug Id: 9004409. When I paint VolatileImage.getSnapshot() to either the screen graphics or to a BufferedImage, the transparent pixels are rendered incorrectly - they have black values instead of transparent values, as if the transparent pixels were first rendered over a solid black background and then the result is what is copied out to the BufferedImage. > > Now, if I render the VolatileImage directly to the screen graphics, I don't see the problem, but any way I can figure out how to render the VolatileImage to or as a BufferedImage results in incorrect transparent pixels. > > Below is a sample program that demonstrates the problem and compares it to BufferedImages which always render correctly. > > This problem only occurs on Mac Java 7 and 8? all works as expected on Windows Java 7 and Mac Java 6. > > Any thoughts on this? Is there a work around anyone knows of? Also, am I correct in my conjecture that BufferedImages are supposed to be hardware accelerated, but they are not in OpenJDK? > > Thanks for your time, > Jess > > ---------------------------------------- > > import java.awt.AlphaComposite; > import java.awt.BorderLayout; > import java.awt.Color; > import java.awt.Dimension; > import java.awt.Graphics2D; > import java.awt.GraphicsConfiguration; > import java.awt.GraphicsEnvironment; > import java.awt.GridBagConstraints; > import java.awt.GridBagLayout; > import java.awt.Insets; > import java.awt.Transparency; > import java.awt.event.ActionEvent; > import java.awt.event.ActionListener; > import java.awt.image.BufferedImage; > import java.awt.image.VolatileImage; > > import javax.swing.JButton; > import javax.swing.JFrame; > import javax.swing.JLabel; > import javax.swing.JPanel; > import javax.swing.SwingUtilities; > > /** > * Shows the difference between the painting of a translucent BufferedImage and a translucent > * VolatileImage. > * > * > * On Java 6, this works fine. On Java 7, the VolatileImages are not painted correctly, when painted > * onto a BufferedImage prior to being painted to screen graphics. > * > * @author jfinley > * > */ > public class PaintTest { > > public PaintTest() { > > JPanel bufferedImagePanel = new JPanel() { > protected void paintComponent(java.awt.Graphics g) { > super.paintComponent(g); > BufferedImage image = getBufferedImage(); > g.drawImage(image, 0, 0, null); > }; > }; > > JPanel bufferedImagePanel2 = new JPanel() { > protected void paintComponent(java.awt.Graphics g) { > super.paintComponent(g); > BufferedImage bImage = getBufferedImage(); > > BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB); > Graphics2D g2 = image.createGraphics(); > > //not really necessary, but in there for completeness > g2.setComposite(AlphaComposite.Clear); > g2.setColor(new Color(255, 255, 255, 0)); > g2.fillRect(0,0, image.getWidth(), image.getHeight()); > > g2.setComposite(AlphaComposite.SrcOver); > g2.drawImage(bImage, 0, 0, null); > g2.dispose(); > > g.drawImage(image, 0, 0, null); > }; > }; > > JPanel volatileImagePanel = new JPanel() { > protected void paintComponent(java.awt.Graphics g) { > super.paintComponent(g); > VolatileImage vImage = getVolatileImage(); > > /** > * If we draw the VolatileImage directly to g, it works fine... but > * if we draw VolatileImage.getSnapshot(), or otherwise convert the VolatileImage > * to a buffered image, we get the black halo funk of death. > */ > g.drawImage(vImage, 0, 0, null); //works > //g.drawImage(vImage.getSnapshot(), 0, 0, null); //black halo funk of death > }; > }; > > JPanel volatileImagePanel2 = new JPanel() { > protected void paintComponent(java.awt.Graphics g) { > super.paintComponent(g); > VolatileImage vImage = getVolatileImage(); > > /** > * If we draw the VolatileImage directly to g, it works fine... but > * if we draw VolatileImage.getSnapshot(), or otherwise convert the VolatileImage > * to a buffered image, we get the black halo funk of death. > */ > //g.drawImage(vImage, 0, 0, null); //works > g.drawImage(vImage.getSnapshot(), 0, 0, null); //black halo funk of death > }; > }; > > JPanel volatileImagePanel3 = new JPanel() { > protected void paintComponent(java.awt.Graphics g) { > super.paintComponent(g); > VolatileImage vImage = getVolatileImage(); > > /** > * If we draw the VolatileImage directly to g, it works fine... but > * if we draw VolatileImage.getSnapshot(), or otherwise convert the VolatileImage > * to a buffered image, we get the black halo funk of death. > */ > //g.drawImage(vImage, 0, 0, null); //works > //g.drawImage(vImage.getSnapshot(), 0, 0, null); //black halo funk of death > > BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB); > Graphics2D g2 = image.createGraphics(); > > //not really necessary, but in there for completeness > g2.setComposite(AlphaComposite.Clear); > g2.setColor(new Color(255, 255, 255, 0)); > g2.fillRect(0,0, image.getWidth(), image.getHeight()); > > g2.setComposite(AlphaComposite.SrcOver); > g2.drawImage(vImage, 0, 0, null); > g2.dispose(); > > g.drawImage(image, 0, 0, null); > }; > }; > > final JPanel mainPanel = new JPanel(new GridBagLayout()); > GridBagConstraints gbc = new GridBagConstraints(0, 1, 1, 1, 0, 0, > GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0); > > mainPanel.add(new JLabel("Direct to g"), gbc); > gbc.gridy++; > mainPanel.add(new JLabel("BufferImage Proxy"), gbc); > gbc.gridy++; > mainPanel.add(new JLabel("BufferImage Proxy 2"), gbc); > > gbc.gridx = 1; gbc.gridy = 0; > mainPanel.add(new JLabel("BufferedImages"), gbc); > gbc.gridx++; > mainPanel.add(new JLabel("VolatileImages"), gbc); > > gbc.gridx = 1; gbc.gridy = 1; gbc.weightx = 1; gbc.weighty = 1; > mainPanel.add(bufferedImagePanel, gbc); > gbc.gridy++; > mainPanel.add(bufferedImagePanel2, gbc); > gbc.gridx = 2; gbc.gridy = 1; > mainPanel.add(volatileImagePanel, gbc); > gbc.gridy++; > mainPanel.add(volatileImagePanel2, gbc); > gbc.gridy++; > mainPanel.add(volatileImagePanel3, gbc); > > > JButton repaintButton = new JButton("Repaint"); > repaintButton.addActionListener(new ActionListener(){ > public void actionPerformed(ActionEvent e) { > mainPanel.repaint(); > } > }); > > gbc.gridx = 1; gbc.gridy++; gbc.gridwidth = 2; gbc.weighty = 0; > mainPanel.add(repaintButton, gbc); > > > JFrame mainFrame = new JFrame("O.M.G."); > mainFrame.getContentPane().setLayout(new BorderLayout()); > mainFrame.getContentPane().add(mainPanel, BorderLayout.CENTER); > mainFrame.setPreferredSize(new Dimension(400, 400)); > mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); > mainFrame.pack(); > mainFrame.setVisible(true); > > } > > private BufferedImage getBufferedImage() { > BufferedImage image = new BufferedImage(100, 100, BufferedImage.TRANSLUCENT); > Graphics2D g = image.createGraphics(); > > //not really necessary, in here for completeness > g.setComposite(AlphaComposite.Clear); > g.setColor(new Color(255, 255, 255, 0)); > g.fillRect(0,0, image.getWidth(), image.getHeight()); > > g.setComposite(AlphaComposite.SrcOver); > g.setColor(new Color(255, 0, 0, 128)); > g.fillRect(10, 10, image.getWidth()-20, image.getHeight()-20); > > g.dispose(); > return image; > } > > private VolatileImage getVolatileImage() { > GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration(); > VolatileImage vImage = gc.createCompatibleVolatileImage(100, 100, Transparency.TRANSLUCENT); > Graphics2D g = vImage.createGraphics(); > > //necessary, as VolatileImages start out filled opaque white > g.setComposite(AlphaComposite.Clear); > g.setColor(new Color(255, 255, 255, 0)); > g.fillRect(0,0, vImage.getWidth(), vImage.getHeight()); > > g.setComposite(AlphaComposite.SrcOver); > g.setColor(new Color(255, 0, 0, 128)); > g.fillRect(10, 10, vImage.getWidth()-20, vImage.getHeight()-20); > > g.dispose(); > return vImage; > } > > public static void main(String[] args) { > SwingUtilities.invokeLater(new Runnable(){ > public void run() { > new PaintTest(); > } > }); > } > } From hs at tagtraum.com Wed Apr 2 07:54:39 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Wed, 2 Apr 2014 09:54:39 +0200 Subject: VolatileImages render incorrectly In-Reply-To: <20C6D95D-59BB-40C3-AB89-002419A3F491@ultramixer.com> References: <20C6D95D-59BB-40C3-AB89-002419A3F491@ultramixer.com> Message-ID: On Apr 2, 2014, at 9:20, Tobias Bley wrote: > we found this problem too and it?s very very disappointing. A real world desktop application on JDK 7 or 8 on a Mac doesn?t perform well - it?s tooo slow and we can?t ship our software with JDK 7 or 8 using BufferedImages. In our opinion JDK7/8 is not ready to release on Mac! But it is released! So why I can?t find thousand of bug reports concerning ?BufferedImages on JDK7/8 on Mac are not hardware accelerated????? That would imply thousands of Java desktop apps for OS X, that actually do "advanced" graphics (aka make the effort to look good).. But seriously: I have also noticed the unacceptable Java2D performance and it is rather disappointing. I have some animations in my application and they run smooth as butter on OS X in a Parallels VM with Windows 7. But when I run the same animations on OS X with Java 8, I'm lucky to get a couple of frames per second. It looks more like a picture slideshow without transitions than an animation. Note that this is nothing exciting, just painting images.. moving them from glass pane to JLayeredPane has helped (http://mail.openjdk.java.net/pipermail/macosx-port-dev/2014-March/006527.html), but it's still far from acceptable. Which begs the question: Are you guys aware of this and working on it? I wasn't able to find a corresponding bug, probably the one that comes closest is https://bugs.openjdk.java.net/browse/JDK-8017247 . At least it describes abysmal Java2D performance. And unfortunately, it's been pushed to Java 9. Really? :-( Do you need another bug report that describes this behavior in clearer terms? IMHO, this is not asking for an enhancement. The current behavior is buggy, making the JDK unusable for real-life applications with some UI sugar. Cheers, -hendrik PS: I wish I was able to vote on bugs. From alexandr.scherbatiy at oracle.com Wed Apr 2 08:05:27 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Wed, 02 Apr 2014 12:05:27 +0400 Subject: [9] Review Request: 8029196 Focus border of JButton.buttonType=roundRect is cut off In-Reply-To: <533AB6C1.8000906@oracle.com> References: <533AA6F8.1090709@oracle.com> <095516FC-B2D2-40CC-99B4-441C0301A527@oracle.com> <533AB6C1.8000906@oracle.com> Message-ID: <533BC4C7.7040008@oracle.com> The fix looks good for me. Thanks, Alexandr. On 4/1/2014 4:53 PM, Sergey Bylokhov wrote: > On 4/1/14 4:33 PM, Petr Pchelko wrote: >> Hello, Sergey. >> >> Does the fix work for retina thin focuses and non-retina thick? > yes, it works in both cases. >> >> With best regards. Petr. >> >> On 01.04.2014, at 15:46, Sergey Bylokhov >> wrote: >> >>> Hello. >>> Please review the fix for jdk 9. >>> JRS draws all component in specified bounds, but if a component is >>> in focus, the frame of focus can exceed the limit of the specified >>> bounds. >>> The focusable components take this into account in the insets, but >>> we cut the focus anyway, because we create the buffer image in >>> bounds size. >>> In the fix this image was increased by the focus size in each >>> direction. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8029196 >>> Webrev can be found at: >>> http://cr.openjdk.java.net/~serb/8029196/webrev.00 >>> >>> -- >>> Best regards, Sergey. >>> > > From Sergey.Bylokhov at oracle.com Wed Apr 2 12:13:21 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 02 Apr 2014 16:13:21 +0400 Subject: VolatileImages render incorrectly In-Reply-To: References: <20C6D95D-59BB-40C3-AB89-002419A3F491@ultramixer.com> Message-ID: <533BFEE1.4070307@oracle.com> Hello. On 4/2/14 11:54 AM, Hendrik Schreiber wrote: > Which begs the question: Are you guys aware of this and working on it? > > I wasn't able to find a corresponding bug, probably the one that comes closest is https://bugs.openjdk.java.net/browse/JDK-8017247 . At least it describes abysmal Java2D performance. > And unfortunately, it's been pushed to Java 9. Really? :-( I think this bug is unrelated to your issue. Note that jdk8 was released already and all changes first go to jdk9, and then will be backported to jdk8u20. > Do you need another bug report that describes this behavior in clearer terms? Definitely. If you doubt, then always create a new CR, without forgetting to attach an example. Like this one: https://bugs.openjdk.java.net/browse/JDK-8029196 Also information about the system will be useful. Multi-monitor/retina/video card. Especially if it is new macbook-pro retina without discrete video card. > IMHO, this is not asking for an enhancement. The current behavior is buggy, making the JDK unusable for real-life applications with some UI sugar. If we we'll get the error reports the sooner, then we will have a chance to fix them in the next release. > > Cheers, > > -hendrik > > PS: I wish I was able to vote on bugs. -- Best regards, Sergey. From alexandr.scherbatiy at oracle.com Wed Apr 2 12:20:02 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Wed, 02 Apr 2014 16:20:02 +0400 Subject: [9] Review request for 8038113 [macosx] JTree icon is not rendered in high resolution on Retina In-Reply-To: <5332E0FE.5090807@oracle.com> References: <5332E0FE.5090807@oracle.com> Message-ID: <533C0072.1020306@oracle.com> Hello, Could you review the updated fix: http://cr.openjdk.java.net/~alexsch/8038113/webrev.01/ The CachableJRSUIIcon creates an image twice: in createImage() and in the AquaPainter.paint() methods. The fix paints the icon directly from the AquaPainter.paint() method which uses the properly scaled image. Thanks, Alexandr. On 3/26/2014 6:15 PM, Alexander Scherbatiy wrote: > > Hello, > > Could you review the fix: > bug: https://bugs.openjdk.java.net/browse/JDK-8038113 > webrev: http://cr.openjdk.java.net/~alexsch/8038113/webrev.00 > > MultiResolution image is used to create resolution variants for the > JTree icons. > > The fix assumes that AquaPainter uses the graphics transform for the > image size calculation > an so depends on the fix for issue 8032667 [macosx] Components > cannot be rendered in > http://mail.openjdk.java.net/pipermail/awt-dev/2014-March/007370.html > > Thanks, > Alexandr. > From petr.pchelko at oracle.com Wed Apr 2 12:37:19 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Wed, 2 Apr 2014 16:37:19 +0400 Subject: [9] Review request for 8038113 [macosx] JTree icon is not rendered in high resolution on Retina In-Reply-To: <533C0072.1020306@oracle.com> References: <5332E0FE.5090807@oracle.com> <533C0072.1020306@oracle.com> Message-ID: Hello, Alexander. Could you please add the @Override to the paintIcon method. Also I suggest to reuse the paintIcon in the createIcon. With best regards. Petr. On 02.04.2014, at 16:20, Alexander Scherbatiy wrote: > > Hello, > > Could you review the updated fix: > http://cr.openjdk.java.net/~alexsch/8038113/webrev.01/ > > The CachableJRSUIIcon creates an image twice: in createImage() and in the AquaPainter.paint() methods. > > The fix paints the icon directly from the AquaPainter.paint() method which uses the properly scaled image. > > Thanks, > Alexandr. > > On 3/26/2014 6:15 PM, Alexander Scherbatiy wrote: >> >> Hello, >> >> Could you review the fix: >> bug: https://bugs.openjdk.java.net/browse/JDK-8038113 >> webrev: http://cr.openjdk.java.net/~alexsch/8038113/webrev.00 >> >> MultiResolution image is used to create resolution variants for the JTree icons. >> >> The fix assumes that AquaPainter uses the graphics transform for the image size calculation >> an so depends on the fix for issue 8032667 [macosx] Components cannot be rendered in >> http://mail.openjdk.java.net/pipermail/awt-dev/2014-March/007370.html >> >> Thanks, >> Alexandr. >> > From yueyemaitian at 163.com Fri Apr 4 11:51:25 2014 From: yueyemaitian at 163.com (=?utf-8?b?55Sw6bqm?=) Date: Fri, 4 Apr 2014 11:51:25 +0000 (UTC) Subject: Building OpenJDK on Mavericks (OS X 10.9) References: <8A93BEA9-88A6-4F78-9465-90B9F605AD51@gmail.com> Message-ID: you can read this post?http://yueyemaitian.iteye.com/blog/2038304 From falcon.sheep at gmail.com Sun Apr 6 07:10:21 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Sun, 6 Apr 2014 11:10:21 +0400 Subject: JavaAppLauncher and working directory Message-ID: Hi, I'm trying to bundle my application using Oracle JavaAppLauncher (from the AppBundler project files). all app classes are not in Jar but in a simple directory structure as follow: my.app/Contents/Java/ my.app/Contents/Java/classes my.app/Contents/Java/setting my.app/Contents/Java/lib my.app/Contents/Java/bin my.app/Contents/Java/db my.app/Contents/Java/Launcher.jar (This is just launcher jar and does not have any classes) my.app/Contents/MacOS/JavaAppLauncher my.app/Contents/PkgInfo my.app/Contents/PlugIns/jdk1.8.0.jdk my.app/Contents/Resources/icon.icns I'm using scripting to do this and not by AppBundler. Once i launch the application, it didn't recognize its location and hence other folders are not seen. NullPointerException are thrown because of this. I tried many things without successful e.g. -Duser.dir in the info.plist, copying the files to many places in root, in MacOS folder, in Resources folder, in Resources/Java folder. I'm not able to launch it. I'm troubleshooting by running ./JavaAppLauncher appreciate any help From joe.mcglynn at oracle.com Sun Apr 6 14:45:26 2014 From: joe.mcglynn at oracle.com (Joe McGlynn) Date: Sun, 6 Apr 2014 07:45:26 -0700 Subject: JavaAppLauncher and working directory In-Reply-To: References: Message-ID: <88822A35-0801-4CAF-ADF6-26FFB049D08D@oracle.com> I don?t believe the ?app bundler? project is maintained any longer. That code was subsumed into the ?FX Packager? (which works for non-FX apps) about a year ago. FWIW, I suspect that you need to put your application classes into a JAR file for it to work properly, but that is just a guess. I?d recommend starting with the packager tool that is in the EA release of 8u20, it has been significantly updated for this release and if you discover a problem or feature gap that is where we?ll be working to address it. Joe On Apr 6, 2014, at 12:10 AM, Abu Abdullah wrote: > Hi, > > I'm trying to bundle my application using Oracle JavaAppLauncher (from the > AppBundler project files). all app classes are not in Jar but in a simple > directory structure as follow: > > my.app/Contents/Java/ > my.app/Contents/Java/classes > my.app/Contents/Java/setting > my.app/Contents/Java/lib > my.app/Contents/Java/bin > my.app/Contents/Java/db > my.app/Contents/Java/Launcher.jar (This is just launcher jar and > does not have any classes) > my.app/Contents/MacOS/JavaAppLauncher > my.app/Contents/PkgInfo > my.app/Contents/PlugIns/jdk1.8.0.jdk > my.app/Contents/Resources/icon.icns > > I'm using scripting to do this and not by AppBundler. > Once i launch the application, it didn't recognize its location and hence > other folders are not seen. NullPointerException are thrown because of this. > > I tried many things without successful e.g. -Duser.dir in the info.plist, > copying the files to many places in root, in MacOS folder, in Resources > folder, in Resources/Java folder. I'm not able to launch it. I'm > troubleshooting by running ./JavaAppLauncher > > appreciate any help From mik3hall at gmail.com Sun Apr 6 17:02:42 2014 From: mik3hall at gmail.com (Michael Hall) Date: Sun, 6 Apr 2014 12:02:42 -0500 Subject: JavaAppLauncher and working directory In-Reply-To: References: Message-ID: <9403B3AF-85A6-42AA-890A-2C59B7DD17AE@gmail.com> On Apr 6, 2014, at 2:10 AM, Abu Abdullah wrote: > > > I'm using scripting to do this and not by AppBundler. > Once i launch the application, it didn't recognize its location and hence > other folders are not seen. NullPointerException are thrown because of this. > > I tried many things without successful e.g. -Duser.dir in the info.plist, > copying the files to many places in root, in MacOS folder, in Resources > folder, in Resources/Java folder. I'm not able to launch it. I'm > troubleshooting by running ./JavaAppLauncher Did you update Info.plist to indicate the embedded JRE? What do you mean by the Launcher.jar has no classes? How does it work without classes? Where are the classes? user.dir for app bundler defaults to your user home directory. Trying to access anything off that inside your application bundle can't really be counted on. Michael Hall trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz HalfPipe Java 6/7 shell app http://www195.pair.com/mik3hall/index.html#halfpipe AppConverter convert Apple jvm to openjdk apps http://www195.pair.com/mik3hall/index.html#appconverter From mik3hall at gmail.com Sun Apr 6 17:05:49 2014 From: mik3hall at gmail.com (Michael Hall) Date: Sun, 6 Apr 2014 12:05:49 -0500 Subject: JavaAppLauncher and working directory In-Reply-To: <88822A35-0801-4CAF-ADF6-26FFB049D08D@oracle.com> References: <88822A35-0801-4CAF-ADF6-26FFB049D08D@oracle.com> Message-ID: <7811B63C-77C1-4F70-B50A-E759290DF1AF@gmail.com> On Apr 6, 2014, at 9:45 AM, Joe McGlynn wrote: > don?t believe the ?app bundler? project is maintained any longer. That code was subsumed into the ?FX Packager? (which works for non-FX apps) about a year ago. FWIW, I suspect that you need to put your application classes into a JAR file for it to work properly, but that is just a guess. > > I?d recommend starting with the packager tool that is in the EA release of 8u20, it has been significantly updated for this release and if you discover a problem or feature gap that is where we?ll be working to address it. The output of this is a Mac java application bundle? Consistent with how appbundler works? /Contents/Java automatically added to class path? Support for embedded JRE? MacOS directory added to java.library.path? user.dir set to users home directory. The features applications written to appbundler could expect as I remember right now. Michael Hall trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz HalfPipe Java 6/7 shell app http://www195.pair.com/mik3hall/index.html#halfpipe AppConverter convert Apple jvm to openjdk apps http://www195.pair.com/mik3hall/index.html#appconverter From falcon.sheep at gmail.com Mon Apr 7 04:02:24 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Mon, 7 Apr 2014 08:02:24 +0400 Subject: JavaAppLauncher and working directory In-Reply-To: <9403B3AF-85A6-42AA-890A-2C59B7DD17AE@gmail.com> References: <9403B3AF-85A6-42AA-890A-2C59B7DD17AE@gmail.com> Message-ID: On Sun, Apr 6, 2014 at 9:02 PM, Michael Hall wrote: > On Apr 6, 2014, at 2:10 AM, Abu Abdullah wrote: > > > > > > > I'm using scripting to do this and not by AppBundler. > > Once i launch the application, it didn't recognize its location and hence > > other folders are not seen. NullPointerException are thrown because of > this. > > > > I tried many things without successful e.g. -Duser.dir in the info.plist, > > copying the files to many places in root, in MacOS folder, in Resources > > folder, in Resources/Java folder. I'm not able to launch it. I'm > > troubleshooting by running ./JavaAppLauncher > > Did you update Info.plist to indicate the embedded JRE? > yes, there is no issue with the embedded JRE, it is detected. What do you mean by the Launcher.jar has no classes? How does it work > without classes? > Where are the classes? > Launcher.jar is just a wrapper instead of executing through the command line. it has only manifest.mf file with Main-Class: classes.myapp and other options. the classes are in a folder in the same directory. > user.dir for app bundler defaults to your user home directory. Trying to > access anything off that inside your application bundle can't really be > counted on. this is my problem, I'm not able to see other folders in the same /Contents/Java. it seems the classes are executed as part of the classpath and not the working directory that it should be in. i will try now with Joe suggestion to go with the new fx packager, it is certainly the way forward. From falcon.sheep at gmail.com Mon Apr 7 13:57:24 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Mon, 7 Apr 2014 17:57:24 +0400 Subject: JavaAppLauncher and working directory In-Reply-To: <88822A35-0801-4CAF-ADF6-26FFB049D08D@oracle.com> References: <88822A35-0801-4CAF-ADF6-26FFB049D08D@oracle.com> Message-ID: On Sun, Apr 6, 2014 at 6:45 PM, Joe McGlynn wrote: > I don't believe the "app bundler" project is maintained any longer. That > code was subsumed into the "FX Packager" (which works for non-FX apps) > about a year ago. FWIW, I suspect that you need to put your application > classes into a JAR file for it to work properly, but that is just a guess. > > I'd recommend starting with the packager tool that is in the EA release of > 8u20, it has been significantly updated for this release and if you > discover a problem or feature gap that is where we'll be working to address > it. > > I used javafxpackager and the result is the same. I'm still getting such errors: java.io.FileNotFoundException: setting/font.properties ...... i have added he folders manually to the resulted DMG. is there anything that can be done. should the app be really jar file only. How can I create DMG with a project containing many folders db, index..... From alexandr.scherbatiy at oracle.com Mon Apr 7 15:30:38 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Mon, 07 Apr 2014 19:30:38 +0400 Subject: [9] Review request for 8038113 [macosx] JTree icon is not rendered in high resolution on Retina In-Reply-To: References: <5332E0FE.5090807@oracle.com> <533C0072.1020306@oracle.com> Message-ID: <5342C49E.8080504@oracle.com> Hello, Could you review the updated fix: http://cr.openjdk.java.net/~alexsch/8038113/webrev.02 - CachableJRSUIIcon explicitly implements Icon interface now - getOptimizedImage() method is removed from the CachingScalingIcon because NSImage always scales an image to the requested size - @Override annotation is added. Thanks, Alexandr. On 4/2/2014 4:37 PM, Petr Pchelko wrote: > Hello, Alexander. > > Could you please add the @Override to the paintIcon method. > > Also I suggest to reuse the paintIcon in the createIcon. > > With best regards. Petr. > > On 02.04.2014, at 16:20, Alexander Scherbatiy wrote: > >> Hello, >> >> Could you review the updated fix: >> http://cr.openjdk.java.net/~alexsch/8038113/webrev.01/ >> >> The CachableJRSUIIcon creates an image twice: in createImage() and in the AquaPainter.paint() methods. >> >> The fix paints the icon directly from the AquaPainter.paint() method which uses the properly scaled image. >> >> Thanks, >> Alexandr. >> >> On 3/26/2014 6:15 PM, Alexander Scherbatiy wrote: >>> Hello, >>> >>> Could you review the fix: >>> bug: https://bugs.openjdk.java.net/browse/JDK-8038113 >>> webrev: http://cr.openjdk.java.net/~alexsch/8038113/webrev.00 >>> >>> MultiResolution image is used to create resolution variants for the JTree icons. >>> >>> The fix assumes that AquaPainter uses the graphics transform for the image size calculation >>> an so depends on the fix for issue 8032667 [macosx] Components cannot be rendered in >>> http://mail.openjdk.java.net/pipermail/awt-dev/2014-March/007370.html >>> >>> Thanks, >>> Alexandr. >>> From mik3hall at gmail.com Mon Apr 7 23:48:35 2014 From: mik3hall at gmail.com (Michael Hall) Date: Mon, 7 Apr 2014 18:48:35 -0500 Subject: JavaAppLauncher and working directory In-Reply-To: References: <9403B3AF-85A6-42AA-890A-2C59B7DD17AE@gmail.com> Message-ID: <8157E436-CF0E-4D7C-8CBF-25860A4DD28E@gmail.com> On Apr 6, 2014, at 11:02 PM, Abu Abdullah wrote: > > Launcher.jar is just a wrapper instead of executing through the command line. it has only manifest.mf file with Main-Class: classes.myapp and other options. the classes are in a folder in the same directory. > > user.dir for app bundler defaults to your user home directory. Trying to access anything off that inside your application bundle can't really be counted on. > > this is my problem, I'm not able to see other folders in the same /Contents/Java. it seems the classes are executed as part of the classpath and not the working directory that it should be in. I believe the way this works is that any jars in the Java directory are added to classpath _but_ the Java directory itself is not classpath. The Classes directory it contains is in classpath. For example: set java.class.path java.class.path=/Users/mjh/HalfPipe/HalfPipe7.app/Contents/Java/Classes:/Users/mjh/HalfPipe/HalfPipe7.app/Contents/Java/antlr-2.7.7.jar:?[Other jars in the Java directory automatically added].../Users/mjh/HalfPipe/HalfPipe7.app/Contents/Java/weka.jar Notice Java directory itself not there. Java/Classes is there. So that you can access resources off of that with something like? try { ClassLoader cl = new java.net.URLClassLoader(new java.net.URL[0]); BufferedReader rdr = new BufferedReader(new InputStreamReader(cl.getResourceAsStream("Scripts/loader.js"))); jsEngine.eval(rdr); } catch (Exception ex) { ex.printStackTrace(org.cmdline.common.Configuration.getSysOut()); } Where Scripts/loader.js is located in the above mentioned Classes directory. user.dir I would still suggest is not a reliable way to access application files going forward. > i will try now with Joe suggestion to go with the new fx packager, it is certainly the way forward. If this provides equivalent functionality and is active this would probably be the way to go. Given the time, I will look at it. Any handy OS X specific documentation links would be appreciated. Michael Hall trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz HalfPipe Java 6/7 shell app http://www195.pair.com/mik3hall/index.html#halfpipe AppConverter convert Apple jvm to openjdk apps http://www195.pair.com/mik3hall/index.html#appconverter From alexandr.scherbatiy at oracle.com Tue Apr 8 15:27:35 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Tue, 08 Apr 2014 19:27:35 +0400 Subject: [9] Review request for 8039001 [macosx] Textfields in dialogs are disabled after using F3 on Mac OS X to select a window Message-ID: <53441567.9070207@oracle.com> Hello, Could you review the fix: bug: https://bugs.openjdk.java.net/browse/JDK-8039001 webrev: http://cr.openjdk.java.net/~alexsch/8039001/webrev.00 NSRunningApplication active property is false when windowDidBecomeKey notification is received after switching from the Mission Control on Mac OS X to the modal dialog. The fix adds the isAppActive propery to the ApplicationDelegate and change it after the applicationWillBecomeActive/applicationWillResignActive notifications to track the application active state. It is difficult to write an automated test because it is hard to find the application coordinates in the Mission Control. Thanks, Alexandr. From petr.pchelko at oracle.com Wed Apr 9 06:31:48 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Wed, 9 Apr 2014 10:31:48 +0400 Subject: [9] Review request for 8038113 [macosx] JTree icon is not rendered in high resolution on Retina In-Reply-To: <5342C49E.8080504@oracle.com> References: <5332E0FE.5090807@oracle.com> <533C0072.1020306@oracle.com> <5342C49E.8080504@oracle.com> Message-ID: Hello, Alexander. The new version looks good to me. With best regards. Petr. On 07.04.2014, at 19:30, Alexander Scherbatiy wrote: > > Hello, > > Could you review the updated fix: > http://cr.openjdk.java.net/~alexsch/8038113/webrev.02 > > - CachableJRSUIIcon explicitly implements Icon interface now > - getOptimizedImage() method is removed from the CachingScalingIcon because NSImage always scales an image to the requested size > - @Override annotation is added. > > Thanks, > Alexandr. > > On 4/2/2014 4:37 PM, Petr Pchelko wrote: >> Hello, Alexander. >> >> Could you please add the @Override to the paintIcon method. >> >> Also I suggest to reuse the paintIcon in the createIcon. >> >> With best regards. Petr. >> >> On 02.04.2014, at 16:20, Alexander Scherbatiy wrote: >> >>> Hello, >>> >>> Could you review the updated fix: >>> http://cr.openjdk.java.net/~alexsch/8038113/webrev.01/ >>> >>> The CachableJRSUIIcon creates an image twice: in createImage() and in the AquaPainter.paint() methods. >>> >>> The fix paints the icon directly from the AquaPainter.paint() method which uses the properly scaled image. >>> >>> Thanks, >>> Alexandr. >>> >>> On 3/26/2014 6:15 PM, Alexander Scherbatiy wrote: >>>> Hello, >>>> >>>> Could you review the fix: >>>> bug: https://bugs.openjdk.java.net/browse/JDK-8038113 >>>> webrev: http://cr.openjdk.java.net/~alexsch/8038113/webrev.00 >>>> >>>> MultiResolution image is used to create resolution variants for the JTree icons. >>>> >>>> The fix assumes that AquaPainter uses the graphics transform for the image size calculation >>>> an so depends on the fix for issue 8032667 [macosx] Components cannot be rendered in >>>> http://mail.openjdk.java.net/pipermail/awt-dev/2014-March/007370.html >>>> >>>> Thanks, >>>> Alexandr. >>>> > From Sergey.Bylokhov at oracle.com Wed Apr 9 10:54:06 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 09 Apr 2014 14:54:06 +0400 Subject: [9] Review request for 8038113 [macosx] JTree icon is not rendered in high resolution on Retina In-Reply-To: <5342C49E.8080504@oracle.com> References: <5332E0FE.5090807@oracle.com> <533C0072.1020306@oracle.com> <5342C49E.8080504@oracle.com> Message-ID: <534526CE.9020602@oracle.com> Hi, Alexander. The fix looks good. But can you remove the text " in Quartz" from the comments before the push. Thanks. On 4/7/14 7:30 PM, Alexander Scherbatiy wrote: > > Hello, > > Could you review the updated fix: > http://cr.openjdk.java.net/~alexsch/8038113/webrev.02 > > - CachableJRSUIIcon explicitly implements Icon interface now > - getOptimizedImage() method is removed from the CachingScalingIcon > because NSImage always scales an image to the requested size > - @Override annotation is added. > > Thanks, > Alexandr. > > On 4/2/2014 4:37 PM, Petr Pchelko wrote: >> Hello, Alexander. >> >> Could you please add the @Override to the paintIcon method. >> >> Also I suggest to reuse the paintIcon in the createIcon. >> >> With best regards. Petr. >> >> On 02.04.2014, at 16:20, Alexander Scherbatiy >> wrote: >> >>> Hello, >>> >>> Could you review the updated fix: >>> http://cr.openjdk.java.net/~alexsch/8038113/webrev.01/ >>> >>> The CachableJRSUIIcon creates an image twice: in createImage() and >>> in the AquaPainter.paint() methods. >>> >>> The fix paints the icon directly from the AquaPainter.paint() >>> method which uses the properly scaled image. >>> >>> Thanks, >>> Alexandr. >>> >>> On 3/26/2014 6:15 PM, Alexander Scherbatiy wrote: >>>> Hello, >>>> >>>> Could you review the fix: >>>> bug: https://bugs.openjdk.java.net/browse/JDK-8038113 >>>> webrev: http://cr.openjdk.java.net/~alexsch/8038113/webrev.00 >>>> >>>> MultiResolution image is used to create resolution variants for >>>> the JTree icons. >>>> >>>> The fix assumes that AquaPainter uses the graphics transform for >>>> the image size calculation >>>> an so depends on the fix for issue 8032667 [macosx] Components >>>> cannot be rendered in >>>> http://mail.openjdk.java.net/pipermail/awt-dev/2014-March/007370.html >>>> >>>> Thanks, >>>> Alexandr. >>>> > -- Best regards, Sergey. From falcon.sheep at gmail.com Thu Apr 10 14:00:56 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Thu, 10 Apr 2014 18:00:56 +0400 Subject: JavaAppLauncher and working directory In-Reply-To: <8157E436-CF0E-4D7C-8CBF-25860A4DD28E@gmail.com> References: <9403B3AF-85A6-42AA-890A-2C59B7DD17AE@gmail.com> <8157E436-CF0E-4D7C-8CBF-25860A4DD28E@gmail.com> Message-ID: > > > I believe the way this works is that any jars in the Java directory are > added to classpath _but_ the Java directory itself is not classpath. The > Classes directory it contains is in classpath. > > For example: > > set java.class.path > java.class.path=/Users/mjh/HalfPipe/HalfPipe7.app/Contents/Java/Classes:/Users/mjh/HalfPipe/HalfPipe7.app/Contents/Java/antlr-2.7.7.jar:...[Other > jars in the Java directory automatically > added].../Users/mjh/HalfPipe/HalfPipe7.app/Contents/Java/weka.jar > > Notice Java directory itself not there. Java/Classes is there. > So that you can access resources off of that with something like... > > try { > ClassLoader cl = new java.net.URLClassLoader(new java.net.URL[0]); > BufferedReader rdr > = new BufferedReader(new InputStreamReader(cl.getResourceAsStream("Scripts/loader.js"))); > jsEngine.eval(rdr); > } > catch (Exception ex) { > ex.printStackTrace(org.cmdline.common.Configuration.getSysOut()); } > > Where Scripts/loader.js is located in the above mentioned Classes > directory. > user.dir I would still suggest is not a reliable way to access application > files going forward. > > Thanks for the tip, it is working if i do so. I was hoping not to change the code since it was just working fine with JavaApplicationStub. From ebakke at MIT.EDU Thu Apr 10 16:24:33 2014 From: ebakke at MIT.EDU (Eirik Bakke) Date: Thu, 10 Apr 2014 16:24:33 +0000 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> <11642B0A-FA50-4A97-B71C-D1EAED65B1A9@tagtraum.com> <532C4F60.6060303@oracle.com> <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> Message-ID: I'm running the NetBeans IDE 8.0 on Java: 1.8.0_20-ea. Just saw a giant over-sized checkbox in a popup menu (see attached). Could it be related to the retina patch mentioned in the thread below? I don't see oversized checkmarks in the main menus. The oversized checkmark is still present in the popup menu after I restart the IDE. -- Eirik On 3/21/14, 10:50 AM, "Hendrik Schreiber" wrote: >On Mar 21, 2014, at 15:40, Alexander Scherbatiy > wrote: > >> >> Thank you for the report. >> >> I have created an issue on it: 8038113 [macosx] JTree icon is not >>rendered in high resolution on Retina >> https://bugs.openjdk.java.net/browse/JDK-8038113 >> >> Thanks, >> Alexandr. > >Thanks! > >-hendrik > From anthony.petrov at oracle.com Thu Apr 10 21:09:51 2014 From: anthony.petrov at oracle.com (Anthony Petrov) Date: Fri, 11 Apr 2014 01:09:51 +0400 Subject: Getting Your Java 8 App in the Mac App Store Message-ID: <5347089F.70308@oracle.com> This may be of interest for people on this mailing list: http://speling.shemnon.com/blog/2014/04/10/getting-your-java-app-in-the-mac-app-store/ The solution works for both FX and Swing/AWT apps. PS. Originally published on openjfx-dev at openjdk.java.net -- best regards, Anthony From alexandr.scherbatiy at oracle.com Fri Apr 11 09:24:46 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Fri, 11 Apr 2014 13:24:46 +0400 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> <11642B0A-FA50-4A97-B71C-D1EAED65B1A9@tagtraum.com> <532C4F60.6060303@oracle.com> <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> Message-ID: <5347B4DE.7030207@oracle.com> On 4/10/2014 8:24 PM, Eirik Bakke wrote: > I'm running the NetBeans IDE 8.0 on Java: 1.8.0_20-ea. Just saw a giant > over-sized checkbox in a popup menu (see attached). Unfortunately the openjdk alias removes attachments from the mail. Could you resend the image and add me to the cc list. > Could it be related to > the retina patch mentioned in the thread below? The patch was only pushed yesterday to the JDK 8u-dev: http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/c696bf320614 Could you create the issue on it: http://bugreport.java.com/bugreport/ Thanks, Alexandr. > > I don't see oversized checkmarks in the main menus. The oversized > checkmark is still present in the popup menu after I restart the IDE. > > -- Eirik > > > On 3/21/14, 10:50 AM, "Hendrik Schreiber" wrote: > >> On Mar 21, 2014, at 15:40, Alexander Scherbatiy >> wrote: >> >>> Thank you for the report. >>> >>> I have created an issue on it: 8038113 [macosx] JTree icon is not >>> rendered in high resolution on Retina >>> https://bugs.openjdk.java.net/browse/JDK-8038113 >>> >>> Thanks, >>> Alexandr. >> Thanks! >> >> -hendrik >> From ebakke at MIT.EDU Fri Apr 11 16:30:37 2014 From: ebakke at MIT.EDU (Eirik Bakke) Date: Fri, 11 Apr 2014 16:30:37 +0000 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: <5347B4DE.7030207@oracle.com> References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> <11642B0A-FA50-4A97-B71C-D1EAED65B1A9@tagtraum.com> <532C4F60.6060303@oracle.com> <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> <5347B4DE.7030207@oracle.com> Message-ID: Hi, Alexandr. Sure, re-sending. Hmm, now I cannot reproduce the bug. I think it might have disappeared when I disconnected and reconnected my external monitor. I will file it once I manage to reproduce it consistently. -- Eirik On 4/11/14, 5:24 AM, "Alexander Scherbatiy" wrote: >On 4/10/2014 8:24 PM, Eirik Bakke wrote: >> I'm running the NetBeans IDE 8.0 on Java: 1.8.0_20-ea. Just saw a giant >> over-sized checkbox in a popup menu (see attached). > Unfortunately the openjdk alias removes attachments from the mail. > Could you resend the image and add me to the cc list. >> Could it be related to >> the retina patch mentioned in the thread below? > The patch was only pushed yesterday to the JDK 8u-dev: >http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/c696bf320614 > > Could you create the issue on it: http://bugreport.java.com/bugreport/ > > Thanks, > Alexandr. > >> >> I don't see oversized checkmarks in the main menus. The oversized >> checkmark is still present in the popup menu after I restart the IDE. >> >> -- Eirik >> >> >> On 3/21/14, 10:50 AM, "Hendrik Schreiber" wrote: >> >>> On Mar 21, 2014, at 15:40, Alexander Scherbatiy >>> wrote: >>> >>>> Thank you for the report. >>>> >>>> I have created an issue on it: 8038113 [macosx] JTree icon is not >>>> rendered in high resolution on Retina >>>> https://bugs.openjdk.java.net/browse/JDK-8038113 >>>> >>>> Thanks, >>>> Alexandr. >>> Thanks! >>> >>> -hendrik >>> > From petr.pchelko at oracle.com Fri Apr 11 19:16:01 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Fri, 11 Apr 2014 23:16:01 +0400 Subject: Mac OS X JVMCapabilities In-Reply-To: References: Message-ID: <6FE06651-880C-40AC-AF5D-84D5A815DAD2@oracle.com> Hello, David. A better alias to ask this is a macosx port alias. Could you please clarify your question: Are you using a native bundle? Are you writing a UI application? How do you get an Info.plist you talk about? just JDK has no info.plist.. With best regards. Petr. 11 ???. 2014 ?., ? 5:50 ????? ???????, David P. Caldwell ???????(?): > Is there a reason that JDK 8 does not declare the full set of > "capabilities" (from the OS X point of view) in the OS-specific > Info.plist file? > > I just discovered that my JNI application broke because it uses native > code to launch a JVM, but was able to fix it simply by adding the JNI > "capability." So clearly it *has* that capability. > > -- David P. Caldwell > http://www.davidpcaldwell.com/ From falcon.sheep at gmail.com Sat Apr 12 01:55:25 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Sat, 12 Apr 2014 05:55:25 +0400 Subject: Javafxpackager and splash screen Message-ID: Hi, using javafxpackager -deploy on a jar with SplashScreen in the manifest.mf will not create an entity in the info.plist with splash option. Is it supported. I'm using jdk 1.8.0, I have tried to do it manually e.g. JVMOptions -splash:$APP_ROOT/Contents/Java/images/logo.png i tried even the absolute path in case APP_ROOT is not supported but not working. For some reason, I'm not able to do it even using the infinitekind appbundler, maybe it is not supporting jdk 1.8 Any help is appreciated. From mik3hall at gmail.com Sat Apr 12 02:19:01 2014 From: mik3hall at gmail.com (Michael Hall) Date: Fri, 11 Apr 2014 21:19:01 -0500 Subject: Javafxpackager and splash screen In-Reply-To: References: Message-ID: <808F0AD9-6F91-4975-AC11-478C4F2BFB71@gmail.com> > i tried even the absolute path in case APP_ROOT is not supported but not > working. I seem to remember support for something like this being added. But am not sure. You could check the source. > > For some reason, I'm not able to do it even using the infinitekind > appbundler, maybe it is not supporting jdk 1.8 > > Any help is appreciated. It is probably not a problem in passing the JVMOption, I would guess about anything you say is a JVMOption is probably passed as is without much, if any, editing. If this is true then appbundler or infinitekind shouldn't matter. The problem would probably be the OS X port support of the splash option. Does it run command line? java -splash:path/to/image ... I think you would need the 1.8 JDK installed to check this. Michael Hall trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz HalfPipe Java 6/7 shell app http://www195.pair.com/mik3hall/index.html#halfpipe AppConverter convert Apple jvm to openjdk apps http://www195.pair.com/mik3hall/index.html#appconverter From falcon.sheep at gmail.com Sat Apr 12 02:38:33 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Sat, 12 Apr 2014 06:38:33 +0400 Subject: Javafxpackager and splash screen In-Reply-To: <808F0AD9-6F91-4975-AC11-478C4F2BFB71@gmail.com> References: <808F0AD9-6F91-4975-AC11-478C4F2BFB71@gmail.com> Message-ID: On Sat, Apr 12, 2014 at 6:19 AM, Michael Hall wrote: > > i tried even the absolute path in case APP_ROOT is not supported but not > working. > > > I seem to remember support for something like this being added. But am not > sure. You could check the source. > > I tried also with jdk1.8.0 u20 as well but it is the same version javafxpackager 2.2 > > > For some reason, I'm not able to do it even using the infinitekind > appbundler, maybe it is not supporting jdk 1.8 > > Any help is appreciated. > > > It is probably not a problem in passing the JVMOption, I would guess about > anything you say is a JVMOption is probably passed as is without much, if > any, editing. > If this is true then appbundler or infinitekind shouldn't matter. The > problem would probably be the OS X port support of the splash option. > Does it run command line? java -splash:path/to/image ... > I think you would need the 1.8 JDK installed to check this. > yes it runs through command line and I'm trying with both 1.8.0 and u20 From mik3hall at gmail.com Sat Apr 12 09:52:21 2014 From: mik3hall at gmail.com (Michael Hall) Date: Sat, 12 Apr 2014 04:52:21 -0500 Subject: Javafxpackager and splash screen In-Reply-To: References: <808F0AD9-6F91-4975-AC11-478C4F2BFB71@gmail.com> Message-ID: On Apr 11, 2014, at 9:38 PM, Abu Abdullah wrote: > On Sat, Apr 12, 2014 at 6:19 AM, Michael Hall wrote: > >> i tried even the absolute path in case APP_ROOT is not supported but not >> working. > > I seem to remember support for something like this being added. But am not sure. You could check the source. > > > I tried also with jdk1.8.0 u20 as well but it is the same version javafxpackager 2.2 > I looked at the last appbundler source I have downloaded, which may not be current. But saw no support for APP_ROOT in main.m. To be sure you could download the latest and check yourself. From this, APP_ROOT would not work, you might show how you specified fullpath? Path wrong could still be a reason it doesn't work that doesn't mean a bug. > > yes it runs through command line and I'm trying with both 1.8.0 and u20 In the most current version of the source that I have, again possibly not the actual latest - then it should work application launched. The source has? // Get the VM options NSArray *options = [infoDictionary objectForKey:@JVM_OPTIONS_KEY]; if (options == nil) { options = [NSArray array]; } ? // Initialize the arguments to JLI_Launch() int argc = 1 + [options count] + 2 + [arguments count] + 1; char *argv[argc]; int i = 0; argv[i++] = commandName; argv[i++] = strdup([classPath UTF8String]); argv[i++] = strdup([libraryPath UTF8String]); for (NSString *option in options) { argv[i++] = strdup([option UTF8String]); } So it just copies in the options, no editing, skipping or additions. Should be just like command line. So if path is good, and it doesn't correctly handle the splash option, then something is broken somehow that isn't broken in command line and you probably have a bug report? Michael Hall trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz HalfPipe Java 6/7 shell app http://www195.pair.com/mik3hall/index.html#halfpipe AppConverter convert Apple jvm to openjdk apps http://www195.pair.com/mik3hall/index.html#appconverter From raymond at howie.me.uk Sat Apr 12 18:44:42 2014 From: raymond at howie.me.uk (Raymond Howie) Date: Sat, 12 Apr 2014 19:44:42 +0100 Subject: error: package com.apple.eawt does not exist Message-ID: I?ve installed Java 8 from the Oracle site onto my Mac which is running 10.9.2 Any of my apps which use the Apple Java Extensions come up with this error message. I?ve had a look in rt.jar and the classes are listed in there. I even tried building OpenJDK 8 from the source but get the same error. Any idea what is going on or how I can fix it? Raymond Howie From jonathan.gibbons at oracle.com Sat Apr 12 19:06:17 2014 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Sat, 12 Apr 2014 12:06:17 -0700 Subject: error: package com.apple.eawt does not exist In-Reply-To: References: Message-ID: <53498EA9.5050105@oracle.com> On 04/12/2014 11:44 AM, Raymond Howie wrote: > I?ve installed Java 8 from the Oracle site onto my Mac which is running 10.9.2 Any of my apps which use the Apple Java Extensions come up with this error message. > > I?ve had a look in rt.jar and the classes are listed in there. I even tried building OpenJDK 8 from the source but get the same error. > > Any idea what is going on or how I can fix it? > > Raymond Howie > By default, javac does not read classes from rt.jar. It reads then from a separate symbol file, which only contains standard API. You might try disabling the mechanism with unsupported javac option -XDignore.symbol.file=true and see if that fixes your issues. -- Jon From raymond at howie.me.uk Sat Apr 12 20:34:15 2014 From: raymond at howie.me.uk (Raymond Howie) Date: Sat, 12 Apr 2014 21:34:15 +0100 Subject: error: package com.apple.eawt does not exist In-Reply-To: <53498EA9.5050105@oracle.com> References: <53498EA9.5050105@oracle.com> Message-ID: <7B21E1AB-EE12-4211-B545-EE68A48C9C67@howie.me.uk> Thanks Jon, I just tried that and it does let it compile. I use NetBeans so I included that in the project properties as a compiler option. Although it does compile, NetBeans is still showing the imports as in error. Is there any easy way to get Netbeans to do the same thing? Thanks, Raymond On 12 Apr 2014, at 20:06, Jonathan Gibbons wrote: > On 04/12/2014 11:44 AM, Raymond Howie wrote: >> I?ve installed Java 8 from the Oracle site onto my Mac which is running 10.9.2 Any of my apps which use the Apple Java Extensions come up with this error message. >> >> I?ve had a look in rt.jar and the classes are listed in there. I even tried building OpenJDK 8 from the source but get the same error. >> >> Any idea what is going on or how I can fix it? >> >> Raymond Howie >> > > By default, javac does not read classes from rt.jar. It reads then from a separate symbol file, which only contains standard API. > > You might try disabling the mechanism with unsupported javac option -XDignore.symbol.file=true and see if that fixes your issues. > > -- Jon > > From ebakke at MIT.EDU Sun Apr 13 14:55:33 2014 From: ebakke at MIT.EDU (Eirik Bakke) Date: Sun, 13 Apr 2014 14:55:33 +0000 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> <11642B0A-FA50-4A97-B71C-D1EAED65B1A9@tagtraum.com> <532C4F60.6060303@oracle.com> <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> <5347B4DE.7030207@oracle.com> Message-ID: Huh, in Hendrik's case it seems he gets an even-larger checkmark even in retina mode (judging from the font size in Hendrik's screenshot). In my case I was _not_ running in retina mode. From: Hendrik Schreiber > Date: Sunday, April 13, 2014 at 4:08 AM To: "macosx-port-dev at openjdk.java.net X" >, Alexander Scherbatiy > Cc: Eirik Bakke > Subject: Re: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable On Apr 11, 2014, at 18:30, Eirik Bakke > wrote: > Hmm, now I cannot reproduce the bug. I think it might have disappeared > when I disconnected and reconnected my external monitor. I will file it > once I manage to reproduce it consistently. It does not depend on an external monitor, as I don't one and have observed this, too (screenshot of a menu attached). I've seen this in a menu, that is not in the system menu bar, but in the app window itself. This happened when running an ancient version of HPJmeter. Just double-clicked on the jar, and I was able to observe the issue. ps ax | grep java 4351 ?? U 0:03.88 /Library/Internet Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar /Users/hendrik/repository/texte/performance/downloads/hpjmeter/HPjmeter.jar 4414 s004 R+ 0:00.00 grep java mankell:~ hendrik$ /Library/Internet\ Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version java version "1.8.0_20-ea" Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05) Java HotSpot(TM) 64-Bit Server VM (build 25.20-b05, mixed mode) Hope this helps to nail it down. -hendrik PS: I have attached the jar to illustrate the point, please don't re-distribute [cid:779ad24a-64b1-4e26-850f-d49823c76ca9 at exchange.mit.edu] From falcon.sheep at gmail.com Sun Apr 13 16:10:55 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Sun, 13 Apr 2014 20:10:55 +0400 Subject: Javafxpackager and splash screen In-Reply-To: References: <808F0AD9-6F91-4975-AC11-478C4F2BFB71@gmail.com> Message-ID: On Sat, Apr 12, 2014 at 1:52 PM, Michael Hall wrote: > On Apr 11, 2014, at 9:38 PM, Abu Abdullah wrote: > > On Sat, Apr 12, 2014 at 6:19 AM, Michael Hall wrote: > >> >> i tried even the absolute path in case APP_ROOT is not supported but not >> working. >> >> >> I seem to remember support for something like this being added. But am >> not sure. You could check the source. >> >> > I tried also with jdk1.8.0 u20 as well but it is the same version > javafxpackager 2.2 > > > I looked at the last appbundler source I have downloaded, which may not be > current. But saw no support for APP_ROOT in main.m. > To be sure you could download the latest and check yourself. > From this, APP_ROOT would not work, you might show how you specified > fullpath? Path wrong could still be a reason it doesn't work that doesn't > mean a bug. > > > yes it runs through command line and I'm trying with both 1.8.0 and u20 > > > In the most current version of the source that I have, again possibly not > the actual latest - then it should work application launched. > The source has... > > // Get the VM options > NSArray *options = [infoDictionary objectForKey:@JVM_OPTIONS_KEY]; > if (options == nil) { > options = [NSArray array]; > } > > ... > > // Initialize the arguments to JLI_Launch() > int argc = 1 + [options count] + 2 + [arguments count] + 1; > char *argv[argc]; > > int i = 0; > argv[i++] = commandName; > argv[i++] = strdup([classPath UTF8String]); > argv[i++] = strdup([libraryPath UTF8String]); > > for (NSString *option in options) { > argv[i++] = strdup([option UTF8String]); > } > > So it just copies in the options, no editing, skipping or additions. > Should be just like command line. > > So if path is good, and it doesn't correctly handle the splash option, > then something is broken somehow that isn't broken in command line and you > probably have a bug report? > > Can you please try the following test sample on your machine. ideally it should work but it is not in my case: https://drive.google.com/file/d/0B6nSYRwywQUoNzV5RHh5bWl6amc/edit?usp=sharing the code is compiled with 1.8, you just need to modify the splash path in your case. From hs at tagtraum.com Sun Apr 13 18:29:33 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Sun, 13 Apr 2014 20:29:33 +0200 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> <11642B0A-FA50-4A97-B71C-D1EAED65B1A9@tagtraum.com> <532C4F60.6060303@oracle.com> <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> <5347B4DE.7030207@oracle.com> Message-ID: <55A4315E-31BE-49A6-855C-F2C08C4BC24B@tagtraum.com> On Apr 13, 2014, at 16:55, Eirik Bakke wrote: > Huh, in Hendrik's case it seems he gets an even-larger checkmark even in retina mode (judging from the font size in Hendrik's screenshot). In my case I was _not_ running in retina mode. Just to confirm: I was using Retina. -hendrik From mik3hall at gmail.com Sun Apr 13 21:39:23 2014 From: mik3hall at gmail.com (Michael Hall) Date: Sun, 13 Apr 2014 16:39:23 -0500 Subject: Javafxpackager and splash screen In-Reply-To: References: <808F0AD9-6F91-4975-AC11-478C4F2BFB71@gmail.com> Message-ID: <217EE307-80A2-47AD-B18C-7BDE06FCBFB4@gmail.com> On Apr 13, 2014, at 11:10 AM, Abu Abdullah wrote: > > > Can you please try the following test sample on your machine. ideally it should work but it is not in my case: > https://drive.google.com/file/d/0B6nSYRwywQUoNzV5RHh5bWl6amc/edit?usp=sharing > > the code is compiled with 1.8, you just need to modify the splash path in your case. Sorry not 1.8. If you think the path is correct you probably have a bug. Michael Hall trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz HalfPipe Java 6/7 shell app http://www195.pair.com/mik3hall/index.html#halfpipe AppConverter convert Apple jvm to openjdk apps http://www195.pair.com/mik3hall/index.html#appconverter From alexandr.scherbatiy at oracle.com Mon Apr 14 14:31:53 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Mon, 14 Apr 2014 18:31:53 +0400 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> <11642B0A-FA50-4A97-B71C-D1EAED65B1A9@tagtraum.com> <532C4F60.6060303@oracle.com> <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> <5347B4DE.7030207@oracle.com> Message-ID: <534BF159.2010605@oracle.com> Thank you for the report. I am able to reproduce the issue in JDK8u20 build 05 and it should have been already fixed in the build 09. Thanks, Alexandr. On 4/13/2014 6:55 PM, Eirik Bakke wrote: > Huh, in Hendrik's case it seems he gets an even-larger checkmark even > in retina mode (judging from the font size in Hendrik's screenshot). > In my case I was _not_ running in retina mode. > > From: Hendrik Schreiber > > Date: Sunday, April 13, 2014 at 4:08 AM > To: "macosx-port-dev at openjdk.java.net > X" > >, Alexander Scherbatiy > > > Cc: Eirik Bakke > > Subject: Re: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable > > On Apr 11, 2014, at 18:30, Eirik Bakke > wrote: > > > Hmm, now I cannot reproduce the bug. I think it might have disappeared > > when I disconnected and reconnected my external monitor. I will file it > > once I manage to reproduce it consistently. > > It does not depend on an external monitor, as I don't one and have > observed this, too (screenshot of a menu attached). > I've seen this in a menu, that is not in the system menu bar, but in > the app window itself. > This happened when running an ancient version of HPJmeter. Just > double-clicked on the jar, and I was able to observe the issue. > > ps ax | grep java > 4351 ?? U 0:03.88 /Library/Internet > Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar > /Users/hendrik/repository/texte/performance/downloads/hpjmeter/HPjmeter.jar > 4414 s004 R+ 0:00.00 grep java > mankell:~ hendrik$ /Library/Internet\ > Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version > java version "1.8.0_20-ea" > Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05) > Java HotSpot(TM) 64-Bit Server VM (build 25.20-b05, mixed mode) > > Hope this helps to nail it down. > > -hendrik > > PS: I have attached the jar to illustrate the point, please don't > re-distribute > From david.dehaven at oracle.com Mon Apr 14 16:26:52 2014 From: david.dehaven at oracle.com (David DeHaven) Date: Mon, 14 Apr 2014 09:26:52 -0700 Subject: Javafxpackager and splash screen In-Reply-To: References: Message-ID: <98D75213-C93E-403D-AB82-068CA118226D@oracle.com> You may want to join the OpenJFX mailing list, the developers working on JavaFX packager are more likely to see packager questions over there. openjfx-dev at openjdk.java.net -DrD- > Hi, > > using javafxpackager -deploy on a jar with SplashScreen in the manifest.mf > will not create an entity in the info.plist with splash option. Is it > supported. I'm using jdk 1.8.0, I have tried to do it manually e.g. > > JVMOptions > > -splash:$APP_ROOT/Contents/Java/images/logo.png > > > i tried even the absolute path in case APP_ROOT is not supported but not > working. > > For some reason, I'm not able to do it even using the infinitekind > appbundler, maybe it is not supporting jdk 1.8 > > Any help is appreciated. From ebakke at MIT.EDU Mon Apr 14 18:47:23 2014 From: ebakke at MIT.EDU (Eirik Bakke) Date: Mon, 14 Apr 2014 18:47:23 +0000 Subject: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable In-Reply-To: <534BF159.2010605@oracle.com> References: <8B35AE6B-0E70-4931-998C-13BF06B1EC20@tagtraum.com> <52D3BD31.1090109@oracle.com> <8E8745F9-2FCF-4850-938B-D03B9BD03F14@tagtraum.com> <73380D5F-A675-439A-B047-56DA46B173F9@tagtraum.com> <11642B0A-FA50-4A97-B71C-D1EAED65B1A9@tagtraum.com> <532C4F60.6060303@oracle.com> <898578DF-CE10-49E6-8AB9-D6CD387F071D@tagtraum.com> <5347B4DE.7030207@oracle.com> <534BF159.2010605@oracle.com> Message-ID: Great--thanks! On 4/14/14, 10:31 AM, "Alexander Scherbatiy" wrote: > > > Thank you for the report. I am able to reproduce the issue in >JDK8u20 build 05 and it should have been already fixed in the build 09. > > Thanks, > Alexandr. > > >On 4/13/2014 6:55 PM, Eirik Bakke wrote: >> Huh, in Hendrik's case it seems he gets an even-larger checkmark even >> in retina mode (judging from the font size in Hendrik's screenshot). >> In my case I was _not_ running in retina mode. >> >> From: Hendrik Schreiber > >> Date: Sunday, April 13, 2014 at 4:08 AM >> To: "macosx-port-dev at openjdk.java.net >> X" >> > >, Alexander Scherbatiy >> > >> Cc: Eirik Bakke > >> Subject: Re: Checkmark in JCheckBoxMenuItem not HiDPI/Retina capable >> >> On Apr 11, 2014, at 18:30, Eirik Bakke > > wrote: >> >> > Hmm, now I cannot reproduce the bug. I think it might have disappeared >> > when I disconnected and reconnected my external monitor. I will file >>it >> > once I manage to reproduce it consistently. >> >> It does not depend on an external monitor, as I don't one and have >> observed this, too (screenshot of a menu attached). >> I've seen this in a menu, that is not in the system menu bar, but in >> the app window itself. >> This happened when running an ancient version of HPJmeter. Just >> double-clicked on the jar, and I was able to observe the issue. >> >> ps ax | grep java >> 4351 ?? U 0:03.88 /Library/Internet >> Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar >> >>/Users/hendrik/repository/texte/performance/downloads/hpjmeter/HPjmeter.j >>ar >> 4414 s004 R+ 0:00.00 grep java >> mankell:~ hendrik$ /Library/Internet\ >> Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version >> java version "1.8.0_20-ea" >> Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05) >> Java HotSpot(TM) 64-Bit Server VM (build 25.20-b05, mixed mode) >> >> Hope this helps to nail it down. >> >> -hendrik >> >> PS: I have attached the jar to illustrate the point, please don't >> re-distribute >> > From jonathan.gibbons at oracle.com Mon Apr 14 21:34:22 2014 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 14 Apr 2014 14:34:22 -0700 Subject: error: package com.apple.eawt does not exist In-Reply-To: <7B21E1AB-EE12-4211-B545-EE68A48C9C67@howie.me.uk> References: <53498EA9.5050105@oracle.com> <7B21E1AB-EE12-4211-B545-EE68A48C9C67@howie.me.uk> Message-ID: <534C545E.1070407@oracle.com> This was the response from a NB expert: > The best way I know (not really great though) is to run NetBeans with > this command line option: > -J-DCachingArchiveProvider.disableCtSym=true > > That will disable the rt.jar->ct.sym mapping in the whole IDE, but (as > a consequence) will also disable enforcing of the compact profiles rules. -- Jon On 04/12/2014 01:34 PM, Raymond Howie wrote: > Thanks Jon, I just tried that and it does let it compile. I use NetBeans so I included that in the project properties as a compiler option. Although it does compile, NetBeans is still showing the imports as in error. Is there any easy way to get Netbeans to do the same thing? > > Thanks, > Raymond > > On 12 Apr 2014, at 20:06, Jonathan Gibbons wrote: > >> On 04/12/2014 11:44 AM, Raymond Howie wrote: >>> I?ve installed Java 8 from the Oracle site onto my Mac which is running 10.9.2 Any of my apps which use the Apple Java Extensions come up with this error message. >>> >>> I?ve had a look in rt.jar and the classes are listed in there. I even tried building OpenJDK 8 from the source but get the same error. >>> >>> Any idea what is going on or how I can fix it? >>> >>> Raymond Howie >>> >> By default, javac does not read classes from rt.jar. It reads then from a separate symbol file, which only contains standard API. >> >> You might try disabling the mechanism with unsupported javac option -XDignore.symbol.file=true and see if that fixes your issues. >> >> -- Jon >> >> From danno.ferrin at oracle.com Mon Apr 14 23:20:17 2014 From: danno.ferrin at oracle.com (Danno Ferrin) Date: Mon, 14 Apr 2014 17:20:17 -0600 Subject: Javafxpackager and splash screen In-Reply-To: <035FAF75-A216-4B5E-A502-357B6558BB1E@oracle.com> References: <035FAF75-A216-4B5E-A502-357B6558BB1E@oracle.com> Message-ID: Try APPDIR instead of APP_ROOT. > > > Begin forwarded message: > >> From: Michael Hall >> Subject: Re: Javafxpackager and splash screen >> Date: April 12, 2014 at 2:52:21 AM PDT >> To: Abu Abdullah >> Cc: "macosx-port-dev at openjdk.java.net" >> >> On Apr 11, 2014, at 9:38 PM, Abu Abdullah wrote: >> >>> On Sat, Apr 12, 2014 at 6:19 AM, Michael Hall wrote: >>> >>>> i tried even the absolute path in case APP_ROOT is not supported but not >>>> working. >>> >>> I seem to remember support for something like this being added. But am not sure. You could check the source. >>> >>> >>> I tried also with jdk1.8.0 u20 as well but it is the same version javafxpackager 2.2 >>> >> I looked at the last appbundler source I have downloaded, which may not be current. But saw no support for APP_ROOT in main.m. >> To be sure you could download the latest and check yourself. >> From this, APP_ROOT would not work, you might show how you specified fullpath? Path wrong could still be a reason it doesn't work that doesn't mean a bug. >> >>> >>> yes it runs through command line and I'm trying with both 1.8.0 and u20 >> >> >> In the most current version of the source that I have, again possibly not the actual latest - then it should work application launched. >> The source has? >> >> // Get the VM options >> NSArray *options = [infoDictionary objectForKey:@JVM_OPTIONS_KEY]; >> if (options == nil) { >> options = [NSArray array]; >> } >> >> ? >> >> // Initialize the arguments to JLI_Launch() >> int argc = 1 + [options count] + 2 + [arguments count] + 1; >> char *argv[argc]; >> >> int i = 0; >> argv[i++] = commandName; >> argv[i++] = strdup([classPath UTF8String]); >> argv[i++] = strdup([libraryPath UTF8String]); >> >> for (NSString *option in options) { >> argv[i++] = strdup([option UTF8String]); >> } >> >> So it just copies in the options, no editing, skipping or additions. Should be just like command line. >> >> So if path is good, and it doesn't correctly handle the splash option, then something is broken somehow that isn't broken in command line and you probably have a bug report? >> >> Michael Hall >> >> trz nio.2 for OS X http://www195.pair.com/mik3hall/index.html#trz >> >> HalfPipe Java 6/7 shell app http://www195.pair.com/mik3hall/index.html#halfpipe >> >> AppConverter convert Apple jvm to openjdk apps http://www195.pair.com/mik3hall/index.html#appconverter >> >> >> >> > From alexandr.scherbatiy at oracle.com Tue Apr 15 14:36:00 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Tue, 15 Apr 2014 18:36:00 +0400 Subject: [9] Review request for 8040279 [macosx] Do not use the base image in the MultiResolutionBufferedImage constructor Message-ID: <534D43D0.2010808@oracle.com> Hello, Could you review the fix: bug: https://bugs.openjdk.java.net/browse/JDK-8040279 webrev: http://cr.openjdk.java.net/~alexsch/8040279/webrev.00 MultiResolutionBufferedImage extends BufferedImage. In this case it needs to use the base image to write it to the BufferedImage. The fix renames MultiResolutionBufferedImage to MultiResolutionCahcedImage and does not use the BufferedImage as the super class. The base image is created and cached by demand. CImage now always returns MultiResolutionCahcedImage. All requested resolution variants are scaled by NSImage. Thanks, Alexandr. From hs at tagtraum.com Tue Apr 15 16:04:29 2014 From: hs at tagtraum.com (Hendrik Schreiber) Date: Tue, 15 Apr 2014 18:04:29 +0200 Subject: ImageIcon returns wrong dimensions Message-ID: <5208D2E1-8876-4823-BB5C-A4B280AEEB49@tagtraum.com> Hi, not sure this is OS X specific, but I encountered a curious little issue with 1.8.0u20. Every now and then, MediaTracking of an ImageIcon does not seem to work all the way. Here's what I expect: A call to: IconImage icon = new ImageIcon(someHttpURL); will load the image via HTTP and only return once the image has been completely loaded. When that happens, icon.getIconWidth() will return the image's width. It will be the same as icon.getImage().getWidth(null). This, I tested, is true for Java 1.8.0. This is what I observe: On 1.8.0u20, every now and then, icon.getIconWidth() returns -1, even though the URL is clearly valid. icon.getImage().getWidth(null) also return -1. However, after waiting a little while, icon.getIconWidth() still returns -1 and icon.getImage().getWidth(null) returns the true width So it seems to me, that the MediaTracker used in ImageIcon, does not wait until the image is fully loaded. In fact, it returns a status 10 (aborted). And even when the image is fully loaded, it never updated its iconWidth. The problem can be reproduced reliably with the code below. I filed a bug - Review id JI-9011717. Cheers, -hendrik import javax.swing.*; import java.net.MalformedURLException; import java.net.URL; public class IconImageTest { public static void main(String[] args) throws MalformedURLException { final URL[] urls = new URL[70]; urls[0] = new URL("http://ecx.images-amazon.com/images/I/414h77wL4EL._SL160_.jpg"); urls[1] = new URL("http://ecx.images-amazon.com/images/I/515pogBxO9L._SL160_.jpg"); urls[2] = new URL("http://ecx.images-amazon.com/images/I/41I1vwgqsXL._SL160_.jpg"); urls[3] = new URL("http://ecx.images-amazon.com/images/I/51-JzKwWe-L._SL160_.jpg"); urls[4] = new URL("http://ecx.images-amazon.com/images/I/51V5n3XX4sL._SL160_.jpg"); urls[5] = new URL("http://ecx.images-amazon.com/images/I/610zMH8VYyL._SL160_.jpg"); urls[6] = new URL("http://ecx.images-amazon.com/images/I/51pmAKfwTlL._SL160_.jpg"); urls[7] = new URL("http://ecx.images-amazon.com/images/I/61vHzDEgxgL._SL160_.jpg"); urls[8] = new URL("http://ecx.images-amazon.com/images/I/51TAPDNMBdL._SL160_.jpg"); urls[9] = new URL("http://ecx.images-amazon.com/images/I/51ZuY7zfsfL._SL160_.jpg"); urls[10] = new URL("http://ecx.images-amazon.com/images/I/41Upfpq4XnL._SL160_.jpg"); urls[11] = new URL("http://ecx.images-amazon.com/images/I/51zSTVJM6nL._SL160_.jpg"); urls[12] = new URL("http://ecx.images-amazon.com/images/I/51-6wmW4swL._SL160_.jpg"); urls[13] = new URL("http://ecx.images-amazon.com/images/I/51gmuw5qUrL._SL160_.jpg"); urls[14] = new URL("http://ecx.images-amazon.com/images/I/41NYyfjNZjL._SL160_.jpg"); urls[15] = new URL("http://ecx.images-amazon.com/images/I/51RNerVHKRL._SL160_.jpg"); urls[16] = new URL("http://ecx.images-amazon.com/images/I/51KpoPP738L._SL160_.jpg"); urls[17] = new URL("http://ecx.images-amazon.com/images/I/61iKyNi5UKL._SL160_.jpg"); urls[18] = new URL("http://ecx.images-amazon.com/images/I/61iGFtl2YmL._SL160_.jpg"); urls[19] = new URL("http://ecx.images-amazon.com/images/I/41fos%2BEksdL._SL160_.jpg"); urls[20] = new URL("http://ecx.images-amazon.com/images/I/51RpKf9APDL._SL160_.jpg"); urls[21] = new URL("http://ecx.images-amazon.com/images/I/61e21Jz2yiL._SL160_.jpg"); urls[22] = new URL("http://ecx.images-amazon.com/images/I/51AmYeBsMCL._SL160_.jpg"); urls[23] = new URL("http://ecx.images-amazon.com/images/I/61aETwYg8PL._SL160_.jpg"); urls[24] = new URL("http://ecx.images-amazon.com/images/I/61m5%2BVAZrrL._SL160_.jpg"); urls[25] = new URL("http://ecx.images-amazon.com/images/I/51nA1JIuRNL._SL160_.jpg"); urls[26] = new URL("http://ecx.images-amazon.com/images/I/41GRH80LYeL._SL160_.jpg"); urls[27] = new URL("http://ecx.images-amazon.com/images/I/41IhcL9HZkL._SL160_.jpg"); urls[28] = new URL("http://ecx.images-amazon.com/images/I/51k-Q52GnFL._SL160_.jpg"); urls[29] = new URL("http://ecx.images-amazon.com/images/I/51SQ3BkujSL._SL160_.jpg"); urls[30] = new URL("http://ecx.images-amazon.com/images/I/41iJNnii-ZL._SL160_.jpg"); urls[31] = new URL("http://ecx.images-amazon.com/images/I/41etRDeiMoL._SL160_.jpg"); urls[32] = new URL("http://ecx.images-amazon.com/images/I/51tr3o4kd9L._SL160_.jpg"); urls[33] = new URL("http://ecx.images-amazon.com/images/I/5128-LvpmZL._SL160_.jpg"); urls[34] = new URL("http://ecx.images-amazon.com/images/I/51leTIgrqWL._SL160_.jpg"); urls[35] = new URL("http://ecx.images-amazon.com/images/I/41RpWVBJz6L._SL160_.jpg"); urls[36] = new URL("http://ecx.images-amazon.com/images/I/51VjeYTFzOL._SL160_.jpg"); urls[37] = new URL("http://ecx.images-amazon.com/images/I/61VQl%2B0YfQL._SL160_.jpg"); urls[38] = new URL("http://ecx.images-amazon.com/images/I/41mJt4IVkhL._SL160_.jpg"); urls[39] = new URL("http://ecx.images-amazon.com/images/I/417ZNQ5C1FL._SL160_.jpg"); urls[40] = new URL("http://ecx.images-amazon.com/images/I/511zXx9fdCL._SL160_.jpg"); urls[41] = new URL("http://ecx.images-amazon.com/images/I/61OycahzgyL._SL160_.jpg"); urls[42] = new URL("http://ecx.images-amazon.com/images/I/51eCZAq37qL._SL160_.jpg"); urls[43] = new URL("http://ecx.images-amazon.com/images/I/5113GxfgY3L._SL160_.jpg"); urls[44] = new URL("http://ecx.images-amazon.com/images/I/61xnT6WcaEL._SL160_.jpg"); urls[45] = new URL("http://ecx.images-amazon.com/images/I/51QWxgU9N2L._SL160_.jpg"); urls[46] = new URL("http://ecx.images-amazon.com/images/I/5149PFGq8rL._SL160_.jpg"); urls[47] = new URL("http://ecx.images-amazon.com/images/I/617W9ZTJGBL._SL160_.jpg"); urls[48] = new URL("http://ecx.images-amazon.com/images/I/513JTvJWpFL._SL160_.jpg"); urls[49] = new URL("http://ecx.images-amazon.com/images/I/6114I6QC7BL._SL160_.jpg"); urls[50] = new URL("http://ecx.images-amazon.com/images/I/216QZM5FJ8L._SL160_.jpg"); urls[51] = new URL("http://ecx.images-amazon.com/images/I/413WE38pDRL._SL160_.jpg"); urls[52] = new URL("http://ecx.images-amazon.com/images/I/51LSN2zSeAL._SL160_.jpg"); urls[53] = new URL("http://ecx.images-amazon.com/images/I/51PzHVqOMwL._SL160_.jpg"); urls[54] = new URL("http://ecx.images-amazon.com/images/I/61GWhfvALPL._SL160_.jpg"); urls[55] = new URL("http://ecx.images-amazon.com/images/I/41C5ZXEZwrL._SL160_.jpg"); urls[56] = new URL("http://ecx.images-amazon.com/images/I/61teoR6B8JL._SL160_.jpg"); urls[57] = new URL("http://ecx.images-amazon.com/images/I/51rnHibCn2L._SL160_.jpg"); urls[58] = new URL("http://ecx.images-amazon.com/images/I/511aIQsGmhL._SL160_.jpg"); urls[59] = new URL("http://ecx.images-amazon.com/images/I/51YgnRCFdOL._SL160_.jpg"); urls[60] = new URL("http://ecx.images-amazon.com/images/I/51uAqL4pA4L._SL160_.jpg"); urls[61] = new URL("http://ecx.images-amazon.com/images/I/514FnLMr5vL._SL160_.jpg"); urls[62] = new URL("http://ecx.images-amazon.com/images/I/51NoPs4muzL._SL160_.jpg"); urls[63] = new URL("http://ecx.images-amazon.com/images/I/515ndTGE9kL._SL160_.jpg"); urls[64] = new URL("http://ecx.images-amazon.com/images/I/61XRtZ08c6L._SL160_.jpg"); urls[65] = new URL("http://ecx.images-amazon.com/images/I/61kDVs82oRL._SL160_.jpg"); urls[66] = new URL("http://ecx.images-amazon.com/images/I/61p85bjPV%2BL._SL160_.jpg"); urls[67] = new URL("http://ecx.images-amazon.com/images/I/41JDQF9F5ML._SL160_.jpg"); urls[68] = new URL("http://ecx.images-amazon.com/images/I/51ZqPCspJeL._SL160_.jpg"); urls[69] = new URL("http://ecx.images-amazon.com/images/I/51cMFdhLFSL._SL160_.jpg"); final ImageIcon[] icons = new ImageIcon[70]; for (int i=0; i References: <98D75213-C93E-403D-AB82-068CA118226D@oracle.com> Message-ID: i will do that. thanks On Mon, Apr 14, 2014 at 8:26 PM, David DeHaven wrote: > > You may want to join the OpenJFX mailing list, the developers working on > JavaFX packager are more likely to see packager questions over there. > > openjfx-dev at openjdk.java.net > > -DrD- > > > Hi, > > > > using javafxpackager -deploy on a jar with SplashScreen in the > manifest.mf > > will not create an entity in the info.plist with splash option. Is it > > supported. I'm using jdk 1.8.0, I have tried to do it manually e.g. > > > > JVMOptions > > > > -splash:$APP_ROOT/Contents/Java/images/logo.png > > > > > > i tried even the absolute path in case APP_ROOT is not supported but not > > working. > > > > For some reason, I'm not able to do it even using the infinitekind > > appbundler, maybe it is not supporting jdk 1.8 > > > > Any help is appreciated. > > From falcon.sheep at gmail.com Tue Apr 15 17:36:07 2014 From: falcon.sheep at gmail.com (Abu Abdullah) Date: Tue, 15 Apr 2014 21:36:07 +0400 Subject: Javafxpackager and splash screen In-Reply-To: References: <035FAF75-A216-4B5E-A502-357B6558BB1E@oracle.com> Message-ID: On Tue, Apr 15, 2014 at 3:20 AM, Danno Ferrin wrote: > Try APPDIR instead of APP_ROOT. > > > Still the same result, it is not working even with absolute path. maybe I'm missing something. From danno.ferrin at oracle.com Tue Apr 15 22:22:23 2014 From: danno.ferrin at oracle.com (Danno Ferrin) Date: Tue, 15 Apr 2014 16:22:23 -0600 Subject: Javafxpackager and splash screen In-Reply-To: References: <035FAF75-A216-4B5E-A502-357B6558BB1E@oracle.com> Message-ID: Looks like this is something the packager launcher is missing. Please file a feature request at javafx-jira.kenai.com. On Apr 15, 2014, at 11:36 AM, Abu Abdullah wrote: > > > > On Tue, Apr 15, 2014 at 3:20 AM, Danno Ferrin wrote: > Try APPDIR instead of APP_ROOT. > > > Still the same result, it is not working even with absolute path. maybe I'm missing something. From petr.pchelko at oracle.com Mon Apr 21 10:36:00 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Mon, 21 Apr 2014 14:36:00 +0400 Subject: [9] Review request for 8040279 [macosx] Do not use the base image in the MultiResolutionBufferedImage constructor In-Reply-To: <534D43D0.2010808@oracle.com> References: <534D43D0.2010808@oracle.com> Message-ID: Hello, Alexander. Just one minor comment: In CImage createBufferedImage method does not create a BufferredImage any more, so it worths renaming. With best regards. Petr. On 15.04.2014, at 18:36, Alexander Scherbatiy wrote: > > Hello, > > Could you review the fix: > bug: https://bugs.openjdk.java.net/browse/JDK-8040279 > webrev: http://cr.openjdk.java.net/~alexsch/8040279/webrev.00 > > MultiResolutionBufferedImage extends BufferedImage. In this case it needs to use the base image to write it to the BufferedImage. > > The fix renames MultiResolutionBufferedImage to MultiResolutionCahcedImage and does not use the BufferedImage as the super class. > The base image is created and cached by demand. > > CImage now always returns MultiResolutionCahcedImage. All requested resolution variants are scaled by NSImage. > > Thanks, > Alexandr. > From alexandr.scherbatiy at oracle.com Mon Apr 21 12:43:07 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Mon, 21 Apr 2014 16:43:07 +0400 Subject: [9] Review request for 8040279 [macosx] Do not use the base image in the MultiResolutionBufferedImage constructor In-Reply-To: References: <534D43D0.2010808@oracle.com> Message-ID: <5355125B.7030000@oracle.com> Could you review the updated fix: http://cr.openjdk.java.net/~alexsch/8040279/webrev.01/ The createBufferedImage method is renamed to createImage in the CImage class. Thanks, Alexandr. On 4/21/2014 2:36 PM, Petr Pchelko wrote: > Hello, Alexander. > > Just one minor comment: In CImage createBufferedImage method does not create a BufferredImage any more, so it worths renaming. > > With best regards. Petr. > > On 15.04.2014, at 18:36, Alexander Scherbatiy wrote: > >> Hello, >> >> Could you review the fix: >> bug: https://bugs.openjdk.java.net/browse/JDK-8040279 >> webrev: http://cr.openjdk.java.net/~alexsch/8040279/webrev.00 >> >> MultiResolutionBufferedImage extends BufferedImage. In this case it needs to use the base image to write it to the BufferedImage. >> >> The fix renames MultiResolutionBufferedImage to MultiResolutionCahcedImage and does not use the BufferedImage as the super class. >> The base image is created and cached by demand. >> >> CImage now always returns MultiResolutionCahcedImage. All requested resolution variants are scaled by NSImage. >> >> Thanks, >> Alexandr. >> From petr.pchelko at oracle.com Mon Apr 21 12:45:12 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Mon, 21 Apr 2014 16:45:12 +0400 Subject: [9] Review request for 8040279 [macosx] Do not use the base image in the MultiResolutionBufferedImage constructor In-Reply-To: <5355125B.7030000@oracle.com> References: <534D43D0.2010808@oracle.com> <5355125B.7030000@oracle.com> Message-ID: <26CE9FA5-206A-4F53-B439-53F45BD98C75@oracle.com> Hello, Alexander. The fix looks good. With best regards. Petr. On 21.04.2014, at 16:43, Alexander Scherbatiy wrote: > > Could you review the updated fix: > http://cr.openjdk.java.net/~alexsch/8040279/webrev.01/ > > The createBufferedImage method is renamed to createImage in the CImage class. > > Thanks, > Alexandr. > > On 4/21/2014 2:36 PM, Petr Pchelko wrote: >> Hello, Alexander. >> >> Just one minor comment: In CImage createBufferedImage method does not create a BufferredImage any more, so it worths renaming. >> >> With best regards. Petr. >> >> On 15.04.2014, at 18:36, Alexander Scherbatiy wrote: >> >>> Hello, >>> >>> Could you review the fix: >>> bug: https://bugs.openjdk.java.net/browse/JDK-8040279 >>> webrev: http://cr.openjdk.java.net/~alexsch/8040279/webrev.00 >>> >>> MultiResolutionBufferedImage extends BufferedImage. In this case it needs to use the base image to write it to the BufferedImage. >>> >>> The fix renames MultiResolutionBufferedImage to MultiResolutionCahcedImage and does not use the BufferedImage as the super class. >>> The base image is created and cached by demand. >>> >>> CImage now always returns MultiResolutionCahcedImage. All requested resolution variants are scaled by NSImage. >>> >>> Thanks, >>> Alexandr. >>> > From jhuxhorn at googlemail.com Mon Apr 21 12:59:17 2014 From: jhuxhorn at googlemail.com (=?utf-8?Q?J=C3=B6rn_Huxhorn?=) Date: Mon, 21 Apr 2014 14:59:17 +0200 Subject: HTML tooltip in native Mac menu? Message-ID: I just realized that a JMenuItem tooltip containing HTML shows as simple text (i.e. showing etc.) in the native Mac menu bar while working as expected in case of a normal Swing menu. Any known workaround for this? Cheers, J?rn. From petr.pchelko at oracle.com Mon Apr 21 13:35:49 2014 From: petr.pchelko at oracle.com (Petr Pchelko) Date: Mon, 21 Apr 2014 17:35:49 +0400 Subject: HTML tooltip in native Mac menu? In-Reply-To: References: Message-ID: <0416B21A-814F-489F-8215-D53D0F449642@oracle.com> Hello, J?rn. Looks like this feature can not be implemented in screen menu bar. Screen menu bar is implemented on top of the Cocoa menu API, but it does seem to support rich text in menu tooltips. With best regards. Petr. On 21.04.2014, at 16:59, J?rn Huxhorn wrote: > I just realized that a JMenuItem tooltip containing HTML shows as simple text (i.e. showing etc.) in the native Mac menu bar while working as expected in case of a normal Swing menu. Any known workaround for this? > > Cheers, > J?rn. > From jhuxhorn at googlemail.com Mon Apr 21 14:28:29 2014 From: jhuxhorn at googlemail.com (=?utf-8?Q?J=C3=B6rn_Huxhorn?=) Date: Mon, 21 Apr 2014 16:28:29 +0200 Subject: HTML tooltip in native Mac menu? In-Reply-To: <0416B21A-814F-489F-8215-D53D0F449642@oracle.com> References: <0416B21A-814F-489F-8215-D53D0F449642@oracle.com> Message-ID: Hi Petr, Thanks for the fast answer! I don?t think Swing tooltips support rich text. At least I couldn?t find any documentation about it and the code in e.g. MetalToolTipUI doesn?t appear to do. I suppose there is no way to get it working in both cases (beside disabling of the native menu bar), right? Will JavaFX provide a better experience in that regard? Cheers, J?rn. On 21. April 2014 at 15:35:21, Petr Pchelko (petr.pchelko at oracle.com) wrote: > Hello, J?rn. > > Looks like this feature can not be implemented in screen menu bar. > Screen menu bar is implemented on top of the Cocoa menu API, > but it does seem to support rich text in menu tooltips. > > With best regards. Petr. > > On 21.04.2014, at 16:59, J?rn Huxhorn wrote: > > > I just realized that a JMenuItem tooltip containing HTML shows as simple text (i.e. > showing etc.) in the native Mac menu bar while working as expected in case of a normal > Swing menu. Any known workaround for this? > > > > Cheers, > > J?rn. > > > > From Sergey.Bylokhov at oracle.com Wed Apr 23 13:45:19 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 23 Apr 2014 17:45:19 +0400 Subject: [9] Review request for 8040279 [macosx] Do not use the base image in the MultiResolutionBufferedImage constructor In-Reply-To: <26CE9FA5-206A-4F53-B439-53F45BD98C75@oracle.com> References: <534D43D0.2010808@oracle.com> <5355125B.7030000@oracle.com> <26CE9FA5-206A-4F53-B439-53F45BD98C75@oracle.com> Message-ID: <5357C3EF.6090402@oracle.com> Hi, Alexander. The fix looks good. Thanks! On 4/21/14 4:45 PM, Petr Pchelko wrote: > Hello, Alexander. > > The fix looks good. > > With best regards. Petr. > > On 21.04.2014, at 16:43, Alexander Scherbatiy wrote: > >> Could you review the updated fix: >> http://cr.openjdk.java.net/~alexsch/8040279/webrev.01/ >> >> The createBufferedImage method is renamed to createImage in the CImage class. >> >> Thanks, >> Alexandr. >> >> On 4/21/2014 2:36 PM, Petr Pchelko wrote: >>> Hello, Alexander. >>> >>> Just one minor comment: In CImage createBufferedImage method does not create a BufferredImage any more, so it worths renaming. >>> >>> With best regards. Petr. >>> >>> On 15.04.2014, at 18:36, Alexander Scherbatiy wrote: >>> >>>> Hello, >>>> >>>> Could you review the fix: >>>> bug: https://bugs.openjdk.java.net/browse/JDK-8040279 >>>> webrev: http://cr.openjdk.java.net/~alexsch/8040279/webrev.00 >>>> >>>> MultiResolutionBufferedImage extends BufferedImage. In this case it needs to use the base image to write it to the BufferedImage. >>>> >>>> The fix renames MultiResolutionBufferedImage to MultiResolutionCahcedImage and does not use the BufferedImage as the super class. >>>> The base image is created and cached by demand. >>>> >>>> CImage now always returns MultiResolutionCahcedImage. All requested resolution variants are scaled by NSImage. >>>> >>>> Thanks, >>>> Alexandr. >>>> -- Best regards, Sergey. From alexandr.scherbatiy at oracle.com Wed Apr 30 14:34:22 2014 From: alexandr.scherbatiy at oracle.com (Alexander Scherbatiy) Date: Wed, 30 Apr 2014 18:34:22 +0400 Subject: [9] Review request for 8040291 [macosx] Http-Images are not fully loaded when using ImageIcon Message-ID: <536109EE.1020303@oracle.com> Hello, Could you review the fix: bug: https://bugs.openjdk.java.net/browse/JDK-8040291 webrev: http://cr.openjdk.java.net/~alexsch/8040291/webrev.00 The SunToolkit.prepareResolutionVariant() method wraps the base image observer and passes it to the resolution variant. It leads that the resolution variant notifies the base image about info changing. When the base image is loaded by the MediaTracker and the resolution variant is loaded first it calls the base image observer and wrongly finishes the base image loading. The fix passes the reduced resolution variant info flags to the base image so the base image loading is finished only after notifiing by the original base image observer. Thanks, Alexandr.