Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JRE 8 rt.jar - java.* Package Source Code
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries.
JRE (Java Runtime) 8 is the runtime environment included in JDK 8.
JRE 8 rt.jar libraries are divided into 6 packages:
com.* - Internal Oracle and Sun Microsystems libraries java.* - Standard Java API libraries. javax.* - Extended Java API libraries. jdk.* - JDK supporting libraries. org.* - Third party libraries. sun.* - Old libraries developed by Sun Microsystems.
JAR File Information:
Directory of C:\fyicenter\jdk-1.8.0_191\jre\lib 63,596,151 rt.jar
Here is the list of Java classes of the java.* package in JRE 1.8.0_191 rt.jar. Java source codes are also provided.
✍: FYIcenter
⏎ java/awt/SequencedEvent.java
/* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.awt; import java.util.LinkedList; import sun.awt.AWTAccessor; import sun.awt.AppContext; import sun.awt.SunToolkit; /** * A mechanism for ensuring that a series of AWTEvents are executed in a * precise order, even across multiple AppContexts. The nested events will be * dispatched in the order in which their wrapping SequencedEvents were * constructed. The only exception to this rule is if the peer of the target of * the nested event was destroyed (with a call to Component.removeNotify) * before the wrapping SequencedEvent was able to be dispatched. In this case, * the nested event is never dispatched. * * @author David Mendenhall */ class SequencedEvent extends AWTEvent implements ActiveEvent { /* * serialVersionUID */ private static final long serialVersionUID = 547742659238625067L; private static final int ID = java.awt.event.FocusEvent.FOCUS_LAST + 1; private static final LinkedList<SequencedEvent> list = new LinkedList<>(); private final AWTEvent nested; private AppContext appContext; private boolean disposed; static { AWTAccessor.setSequencedEventAccessor(new AWTAccessor.SequencedEventAccessor() { public AWTEvent getNested(AWTEvent sequencedEvent) { return ((SequencedEvent)sequencedEvent).nested; } public boolean isSequencedEvent(AWTEvent event) { return event instanceof SequencedEvent; } }); } /** * Constructs a new SequencedEvent which will dispatch the specified * nested event. * * @param nested the AWTEvent which this SequencedEvent's dispatch() * method will dispatch */ public SequencedEvent(AWTEvent nested) { super(nested.getSource(), ID); this.nested = nested; // All AWTEvents that are wrapped in SequencedEvents are (at // least currently) implicitly generated by the system SunToolkit.setSystemGenerated(nested); synchronized (SequencedEvent.class) { list.add(this); } } /** * Dispatches the nested event after all previous nested events have been * dispatched or disposed. If this method is invoked before all previous nested events * have been dispatched, then this method blocks until such a point is * reached. * While waiting disposes nested events to disposed AppContext * * NOTE: Locking protocol. Since dispose() can get EventQueue lock, * dispatch() shall never call dispose() while holding the lock on the list, * as EventQueue lock is held during dispatching. The locks should be acquired * in the same order. */ public final void dispatch() { try { appContext = AppContext.getAppContext(); if (getFirst() != this) { if (EventQueue.isDispatchThread()) { EventDispatchThread edt = (EventDispatchThread) Thread.currentThread(); edt.pumpEvents(SentEvent.ID, new Conditional() { public boolean evaluate() { return !SequencedEvent.this.isFirstOrDisposed(); } }); } else { while(!isFirstOrDisposed()) { synchronized (SequencedEvent.class) { try { SequencedEvent.class.wait(1000); } catch (InterruptedException e) { break; } } } } } if (!disposed) { KeyboardFocusManager.getCurrentKeyboardFocusManager(). setCurrentSequencedEvent(this); Toolkit.getEventQueue().dispatchEvent(nested); } } finally { dispose(); } } /** * true only if event exists and nested source appContext is disposed. */ private final static boolean isOwnerAppContextDisposed(SequencedEvent se) { if (se != null) { Object target = se.nested.getSource(); if (target instanceof Component) { return ((Component)target).appContext.isDisposed(); } } return false; } /** * Sequenced events are dispatched in order, so we cannot dispatch * until we are the first sequenced event in the queue (i.e. it's our * turn). But while we wait for our turn to dispatch, the event * could have been disposed for a number of reasons. */ public final boolean isFirstOrDisposed() { if (disposed) { return true; } // getFirstWithContext can dispose this return this == getFirstWithContext() || disposed; } private final synchronized static SequencedEvent getFirst() { return (SequencedEvent)list.getFirst(); } /* Disposes all events from disposed AppContext * return first valid event */ private final static SequencedEvent getFirstWithContext() { SequencedEvent first = getFirst(); while(isOwnerAppContextDisposed(first)) { first.dispose(); first = getFirst(); } return first; } /** * Disposes of this instance. This method is invoked once the nested event * has been dispatched and handled, or when the peer of the target of the * nested event has been disposed with a call to Component.removeNotify. * * NOTE: Locking protocol. Since SunToolkit.postEvent can get EventQueue lock, * it shall never be called while holding the lock on the list, * as EventQueue lock is held during dispatching and dispatch() will get * lock on the list. The locks should be acquired in the same order. */ final void dispose() { synchronized (SequencedEvent.class) { if (disposed) { return; } if (KeyboardFocusManager.getCurrentKeyboardFocusManager(). getCurrentSequencedEvent() == this) { KeyboardFocusManager.getCurrentKeyboardFocusManager(). setCurrentSequencedEvent(null); } disposed = true; } // Wake myself up if (appContext != null) { SunToolkit.postEvent(appContext, new SentEvent()); } SequencedEvent next = null; synchronized (SequencedEvent.class) { SequencedEvent.class.notifyAll(); if (list.getFirst() == this) { list.removeFirst(); if (!list.isEmpty()) { next = (SequencedEvent)list.getFirst(); } } else { list.remove(this); } } // Wake up waiting threads if (next != null && next.appContext != null) { SunToolkit.postEvent(next.appContext, new SentEvent()); } } }
⏎ java/awt/SequencedEvent.java
Or download all of them as a single archive file:
File name: jre-rt-java-1.8.0_191-src.zip File size: 6664831 bytes Release date: 2018-10-28 Download
⇒ JRE 8 rt.jar - javax.* Package Source Code
2025-02-24, 340541👍, 5💬
Popular Posts:
What JAR files are required to run dom\Counter.java provided in the Apache Xerces package? You can f...
How to download and install iText7-Core-7.1.4.zip? iText7-Core-7.1.4.zip is the binary package of iT...
JDK 11 java.security.jgss.jmod is the JMOD file for JDK 11 Security JGSS (Java Generic Security Serv...
How to download and install ojdbc6.jar for Oracle 11g R2? ojdbc6.jar for Oracle 11g R2 is a Java 6, ...
How to download and install ojdbc6.jar for Oracle 11g R2? ojdbc6.jar for Oracle 11g R2 is a Java 6, ...