69 * @return a root {@code ThreadGroup} 70 */ 71 public static ThreadGroup getRootThreadGroup() { 72 ThreadGroup currentTG = Thread.currentThread().getThreadGroup(); 73 ThreadGroup parentTG = currentTG.getParent(); 74 while (parentTG != null) { 75 currentTG = parentTG; 76 parentTG = currentTG.getParent(); 77 } 78 return currentTG; 79 } 80 81 // JavaFX specific Cleaner for Marlin-FX: 82 // Module issue with jdk.internal.ref.Cleaner 83 private final static java.lang.ref.Cleaner cleaner 84 = java.lang.ref.Cleaner.create(); 85 86 static java.lang.ref.Cleaner getCleaner() { 87 return cleaner; 88 } 89 /* 90 static jdk.internal.ref.Cleaner getCleaner() { 91 return jdk.internal.ref.CleanerFactory.cleaner(); 92 } 93 */ 94 } | 69 * @return a root {@code ThreadGroup} 70 */ 71 public static ThreadGroup getRootThreadGroup() { 72 ThreadGroup currentTG = Thread.currentThread().getThreadGroup(); 73 ThreadGroup parentTG = currentTG.getParent(); 74 while (parentTG != null) { 75 currentTG = parentTG; 76 parentTG = currentTG.getParent(); 77 } 78 return currentTG; 79 } 80 81 // JavaFX specific Cleaner for Marlin-FX: 82 // Module issue with jdk.internal.ref.Cleaner 83 private final static java.lang.ref.Cleaner cleaner 84 = java.lang.ref.Cleaner.create(); 85 86 static java.lang.ref.Cleaner getCleaner() { 87 return cleaner; 88 } 89 } |