- if (ver.startsWith("1.7") || ver.startsWith("1.8")) {
- try {
- frame.addWindowListener(new Java7FocusFixListener(this, frame));
- } catch (SecurityException e) {
- Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
- } catch (NoSuchMethodException e) {
- Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
+ String[] split = ver.split(".");
+
+ if (split.length < 2) {
+ LOGGER.warn("Focus fix listener: unrecognized Java version: " + ver);
+ return;
+ }
+
+ try {
+ int major = Integer.parseInt(split[0]);
+ int minor = Integer.parseInt(split[1]);
+ if ((major == 1 && (minor == 7 || minor == 8)) || major >= 9) {
+ try {
+ frame.addWindowListener(new Java7FocusFixListener(this, frame));
+ } catch (SecurityException e) {
+ Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
+ } catch (NoSuchMethodException e) {
+ Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
+ }