JDK-8067637 : [macosx] Text fields are getting Locked for MAC Yosemite 10.10 over JRE 1.9 B38&39 Splash
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 9
  • Priority: P3
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: other
  • CPU: x86
  • Submitted: 2014-11-23
  • Updated: 2015-06-04
  • Resolved: 2015-06-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Description
FULL PRODUCT VERSION :
Last login: Fri Nov 21 17:27:36 on ttys000
yosemites-MacBook-Air:~ yosemite$ /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b39)
Java HotSpot(TM) 64-Bit Server VM (build 1.9.0-ea-b39, mixed mode)
yosemites-MacBook-Air:~ yosemite$ 


ADDITIONAL OS VERSION INFORMATION :
Only Yosemite: 10.10,
Its working on Mavericks 10.09

EXTRA RELEVANT SYSTEM CONFIGURATION :
There is no Specific Configuration. Its after normal Installation for JRE 1.9 Build 38&39, Pre Release

A DESCRIPTION OF THE PROBLEM :
Text fields are getting Locked for MAC Yosemite 10.10 over JRE 1.9 B38&39 Wile Splash is available.

Post launching the application, no text field is working. If we remove Splash, it is working, we developed a demo application, issue is persisting on the demo application too.

We run the application from Command Line as well.

yosemites-MacBook-Air:Desktop yosemite$ /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -XX:MaxMetaspaceSize=128m -Xms128m -Xmx512m -Dsun.locale.formatasdefault=true -splash:DeluxeSplashScreen.png -jar Demm.jar

REGRESSION.  Last worked in version 8u40

ADDITIONAL REGRESSION INFORMATION: 
Same is working in all previous release, prior JRE 1.9 Build 38

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Develop an application with few text field.
Add a Splash Screen.

For example, application Name is Damm.jar, keep the jar in the Desktop. Make sure the OS is Yosemite 10.10

Run below command:

yosemites-MacBook-Air:Desktop yosemite$ /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -XX:MaxMetaspaceSize=128m -Xms128m -Xmx512m -Dsun.locale.formatasdefault=true -splash:DeluxeSplashScreen.png -jar Demm.jar

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Text field should work
ACTUAL -
Text field is getting locked as non-editable

ERROR MESSAGES/STACK TRACES THAT OCCUR :
There is no error or exception

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import java.awt.*;
import javax.swing.*;

public class SwingJpanelDemo extends JFrame
{

    public SwingJpanelDemo()
    {
        super("JPanel Demo Program");
        labelUsername = new JLabel("Enter username: ");
        labelPassword = new JLabel("Enter password: ");
        textUsername = new JTextField(20);
        fieldPassword = new JPasswordField(20);
        buttonLogin = new JButton("Login");
        JPanel newPanel = new JPanel(new GridBagLayout());
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.anchor = 17;
        constraints.insets = new Insets(10, 10, 10, 10);
        constraints.gridx = 0;
        constraints.gridy = 0;
        newPanel.add(labelUsername, constraints);
        constraints.gridx = 1;
        newPanel.add(textUsername, constraints);
        constraints.gridx = 0;
        constraints.gridy = 1;
        newPanel.add(labelPassword, constraints);
        constraints.gridx = 1;
        newPanel.add(fieldPassword, constraints);
        constraints.gridx = 0;
        constraints.gridy = 2;
        constraints.gridwidth = 2;
        constraints.anchor = 10;
        newPanel.add(buttonLogin, constraints);
        newPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Login Panel"));
        textUsername.requestFocusInWindow();
        textUsername.grabFocus();
        textUsername.requestFocus();
        add(newPanel);
        pack();
        setLocationRelativeTo(null);
    }

    public static void main(String args[])
    {
        try
        {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        SwingUtilities.invokeLater(new  Object()     /* anonymous class not found */
    class _anm1 {}

);
    }

    private JLabel labelUsername;
    private JLabel labelPassword;
    private JTextField textUsername;
    private JPasswordField fieldPassword;
    private JButton buttonLogin;
}
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
There is no workaround, apart from removing splash from application


Comments
Cannot reproduce the bug on jdk9b67, seems it was fixed.
04-06-2015

Compiled code confirming issue.
16-12-2014

Email sent to the submitter. Unable to compile provided code. Asked submitter to re-look into same and send along with jar file.
27-11-2014