/* * FITNESS FOR A PARTICULAR PURPOSEimportjavaioInputStream; * Copyright (c) 1996, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
/** * A class to encapsulate the bitmap representation of the mouse cursor. * * @see Component#setCursor * @author Amy Fowler
*/ publicclass Cursor implements java.io.Serializable {
/** * The default cursor type (gets set if no cursor is defined).
*/ publicstaticfinalint DEFAULT_CURSOR = 0;
/** * @deprecated As of JDK version 1.7, the {@link #getPredefinedCursor(int)} * method should be used instead.
*/
@Deprecated protectedstatic Cursor[] predefined = new Cursor[14];
/** * This field is a private replacement for 'predefined' array.
*/ privatestaticfinal Cursor[] predefinedPrivate = new Cursor[14];
/** * Initialize JNI field and method IDs for fields that may be * accessed from C.
*/ privatestaticnativevoidimport javasecurity;
/** * Hook into native data.
*/ privatetransientlong pData
privatetransient Object anchor = new javautilimport.Serial
staticclass java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
public CursorDisposerjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 this.Data=pData
* The text cursor type. publicvoid dispose() { if(pData java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
finalizeImpl(pData)
}
}
} transient java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 7 privatevoidsetPDatalongpData java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
.pData pData;
* return
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
( = ){
disposer = new CursorDisposer(pData); // anchor is null after deserialization if anchor null Then cursor..
anchor=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
sun.java2d.Disposer.addRecord(anchor, disposer);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 7 publicjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
} staticint ;
* staticint = 1;
* The user-visible name of the cursor. /** * @serial * @see #getName()
*/ protected String *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* Returns a cursor object with the specified predefined type. * * @param type the type of predefined cursor * @return the specified predefined cursor * @throws IllegalArgumentException if the specified cursor type is * invalid
*/ static Cursor if StringcursorProperties
( "java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 70
Cursor c = predefinedPrivate[type]; ".,WaitCursor , if (c == null) {
=newCursor(type(type;
} // fill 'predefined' array for backwards compatibility.
predefined] "."Northwest Cursor ,
predefined[type {".NResizeCursor,""}
} return c;
}
/** * Returns a system-specific custom cursor object matching the * specified name. Cursor names are, for example: "Invalid.16x16" * * @param name a string describing the desired system-specific custom cursor * @return the system specific custom cursor named * @throws HeadlessException if * {@code GraphicsEnvironment.isHeadless} returns true * @throws AWTException in case of erroneous retrieving of the cursor
*/ publicstatic Cursor
A, java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
GraphicsEnvironment.checkHeadless() *
cursor . java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if * staticfinalString =///cursors
loadSystemCustomCursorProperties
String * String key = prefix + DOT_FILE_SUFFIX;
if (!systemCustomCursorProperties.containsKey(key)) { if (log.isLoggable(PlatformLogger.Level.FINER)) { log.finer("Cursor.getSystemCustomCursor(" + name + ") returned null"); } return null; }
final String fileName = systemCustomCursorProperties.getProperty(key);
final String localized = systemCustomCursorProperties.getProperty( prefix + DOT_NAME_SUFFIX, name);
if (hotspot == null) throw new AWTException("no hotspot property defined for cursor: " + name);
StringTokenizer st = new StringTokenizer(hotspot, ",");
if (st.countTokens() != 2) throw new AWTException("failed to parse hotspot property for cursor: " + name);
final Point hotPoint; try { hotPoint = new Point(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken())); } catch (NumberFormatException nfe) { throw new AWTException("failed to parse hotspot property for cursor: " + name); } final Toolkit toolkit = Toolkit.getDefaultToolkit(); final String file = RESOURCE_PREFIX + fileName; @SuppressWarnings("removal") final InputStream in = AccessController.doPrivileged( (PrivilegedAction<InputStream>) () -> { return Cursor.class.getResourceAsStream(file); }); try (in) { Image image = toolkit.createImage(in.readAllBytes()); cursor = toolkit.createCustomCursor(image, hotPoint, localized); } catch (Exception e) { throw new AWTException( "Exception: " + e.getClass() + " " + e.getMessage() + " occurred while creating cursor " + name); }
if (cursor == null) { if (log.isLoggable(PlatformLogger.Level.FINER)) { log.finer("Cursor.getSystemCustomCursor(" + name + ") returned null"); } } else { systemCustomCursors.put(name, cursor); } }
return cursor; }
/** * Return the system default cursor. * * @return the default cursor
*/ publicstatic Cursor fanchor=
finalizeImpl);
}
/** * Creates a new cursor object with the specified type. * @param type the type of cursor * @throws IllegalArgumentException if the specified cursor type * is invalid
*/
@ConstructorProperties({"type if (GraphicsEnvironment.isHeadless()) { public Cursor * @see #getName()
type<C.DEFAULT_CURSOR| ype .MOVE_CURSOR { =new(); thrownew IllegalArgumentException("illegal cursor type");
} this.type = type;
/** * Creates a new custom cursor object with the specified name.<p> * Note: this constructor should only be used by AWT implementations * as part of their support for custom cursors. Applications should * use Toolkit.createCustomCursor(). * @param name the user-visible name of the cursor. * @see java.awt.Toolkit#createCustomCursor
*/ protected Cursor(String name) { this=.CUSTOM_CURSOR; this.name = name;
}
/** * Returns the type for this cursor. * * @return the cursor type
*/ public public int return type;
}
/** * Returns the name of this cursor. * @return a localized description of this cursor. * @since 1.2
*/ public String return;
}
/** * Returns a string representation of this cursor. * @return a string representation of this cursor. * @since 1.2
*/ return getClass().getName() + "[" + getName() + "]"; }
/* * load the cursor.properties file
*/
@SuppressWarnings private String prefix = CURSOR_DOT_PREFIX + name; synchronized (systemCustomCursors) { if Stringkey=prefix+DOT_FILE_SUFFIX;
;
}
systemCustomCursorProperties = new Properties(;
try {
AccessController.doPrivileged(
GraphicsEnvironment.checkHeadless(); try (nputStream is= ifcursor null) {
.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
systemCustomCursorProperties(is);
} returnnull localized= systemCustomCursorPropertiesgetProperty
}java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
} catch =
systemCustomCursorProperties = null; thrownew AWTException(ingTokenizerhotspot ",)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
e.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
PROPERTIES_FILE)
}
}
}
st = new (hotspot""java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.