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:
JDK 17 java.desktop.jmod - Desktop Module
JDK 17 java.desktop.jmod is the JMOD file for JDK 17 Desktop module.
JDK 17 Desktop module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.desktop.jmod.
JDK 17 Desktop module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Desktop module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.desktop.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/apple/laf/AquaCaret.java
/*
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.apple.laf;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.Rectangle;
import java.awt.event.FocusEvent;
import java.awt.event.MouseEvent;
import java.awt.geom.Rectangle2D;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JEditorPane;
import javax.swing.JTextArea;
import javax.swing.border.Border;
import javax.swing.plaf.UIResource;
import javax.swing.text.DefaultCaret;
import javax.swing.text.Highlighter;
import javax.swing.text.JTextComponent;
import javax.swing.SwingUtilities;
@SuppressWarnings("serial") // Superclass is not serializable across versions
public class AquaCaret extends DefaultCaret
implements UIResource, PropertyChangeListener {
private boolean isMultiLineEditor;
private boolean mFocused = false;
private boolean fPainting = false;
@Override
public void install(final JTextComponent c) {
super.install(c);
isMultiLineEditor = c instanceof JTextArea || c instanceof JEditorPane;
c.addPropertyChangeListener(this);
}
@Override
public void deinstall(final JTextComponent c) {
c.removePropertyChangeListener(this);
super.deinstall(c);
}
@Override
protected Highlighter.HighlightPainter getSelectionPainter() {
return AquaHighlighter.getInstance();
}
/**
* Only show the flashing caret if the selection range is zero
*/
@Override
public void setVisible(boolean e) {
if (e) e = getDot() == getMark();
super.setVisible(e);
}
@Override
protected void fireStateChanged() {
// If we have focus the caret should only flash if the range length is zero
if (mFocused) setVisible(getComponent().isEditable());
super.fireStateChanged();
}
@Override
public void propertyChange(final PropertyChangeEvent evt) {
final String propertyName = evt.getPropertyName();
if (AquaFocusHandler.FRAME_ACTIVE_PROPERTY.equals(propertyName)) {
final JTextComponent comp = ((JTextComponent)evt.getSource());
if (evt.getNewValue() == Boolean.TRUE) {
setVisible(comp.hasFocus());
} else {
setVisible(false);
}
if (getDot() != getMark()) comp.getUI().damageRange(comp, getDot(), getMark());
}
}
// --- FocusListener methods --------------------------
private boolean shouldSelectAllOnFocus = true;
@Override
public void focusGained(final FocusEvent e) {
final JTextComponent component = getComponent();
if (!component.isEnabled() || !component.isEditable()) {
super.focusGained(e);
return;
}
mFocused = true;
if (!shouldSelectAllOnFocus) {
shouldSelectAllOnFocus = true;
super.focusGained(e);
return;
}
if (isMultiLineEditor) {
super.focusGained(e);
return;
}
final int end = component.getDocument().getLength();
final int dot = getDot();
final int mark = getMark();
if (dot == mark) {
if (dot == 0) {
component.setCaretPosition(end);
component.moveCaretPosition(0);
} else if (dot == end) {
component.setCaretPosition(0);
component.moveCaretPosition(end);
}
}
super.focusGained(e);
}
@Override
public void focusLost(final FocusEvent e) {
mFocused = false;
shouldSelectAllOnFocus = true;
if (isMultiLineEditor) {
setVisible(false);
getComponent().repaint();
} else {
super.focusLost(e);
}
}
// This fixes the problem where when on the mac you have to ctrl left click to
// get popup triggers the caret has code that only looks at button number.
// see radar # 3125390
@Override
public void mousePressed(final MouseEvent e) {
if (!e.isPopupTrigger() && !(SwingUtilities.isLeftMouseButton(e) &&
e.getClickCount() == 3)) {
super.mousePressed(e);
shouldSelectAllOnFocus = false;
}
}
/**
* Damages the area surrounding the caret to cause
* it to be repainted in a new location. If paint()
* is reimplemented, this method should also be
* reimplemented. This method should update the
* caret bounds (x, y, width, and height).
*
* @param r the current location of the caret
* @see #paint
*/
@Override
protected synchronized void damage(final Rectangle r) {
if (r == null || fPainting) return;
x = r.x - 4;
y = r.y;
width = 10;
height = r.height;
// Don't damage the border area. We can't paint a partial border, so get the
// intersection of the caret rectangle and the component less the border, if any.
final Rectangle caretRect = new Rectangle(x, y, width, height);
final Border border = getComponent().getBorder();
if (border != null) {
final Rectangle alloc = getComponent().getBounds();
alloc.x = alloc.y = 0;
final Insets borderInsets = border.getBorderInsets(getComponent());
alloc.x += borderInsets.left;
alloc.y += borderInsets.top;
alloc.width -= borderInsets.left + borderInsets.right;
alloc.height -= borderInsets.top + borderInsets.bottom;
Rectangle2D.intersect(caretRect, alloc, caretRect);
}
x = caretRect.x;
y = caretRect.y;
width = Math.max(caretRect.width, 1);
height = Math.max(caretRect.height, 1);
repaint();
}
// See <rdar://problem/3833837> 1.4.2_05-141.3: JTextField performance with
// Aqua L&F. We are getting into a circular condition with the BasicCaret
// paint code since it doesn't know about the fact that our damage routine
// above elminates the border. Sadly we can't easily change either one, so
// we will add a painting flag and not damage during a repaint.
@Override
public void paint(final Graphics g) {
if (isVisible()) {
fPainting = true;
super.paint(g);
fPainting = false;
}
}
}
⏎ com/apple/laf/AquaCaret.java
Or download all of them as a single archive file:
File name: java.desktop-17.0.5-src.zip File size: 9152233 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.instrument.jmod - Instrument Module
2023-09-16, ≈915🔥, 0💬
Popular Posts:
How to download and install mysql-connector-j-8.0.31 .zip?Connector/J Java library is a JDBC Driver ...
JDK 11 jdk.crypto.mscapi.jmod is the JMOD file for JDK 11 Crypto MSCAPI module. JDK 11 Crypto MSCAPI...
What JAR files are required to run sax\Counter.java provided in the Apache Xerces package? You can f...
Where to get the Java source code for Connector/J 8.0 User Impl module? Java source code files for C...
What Is poi-ooxml-3.5.jar? poi-ooxml-3.5.jar is one of the JAR files for Apache POI 3.5, which provi...