|
Java example source code file (SwingAccessor.java)
The SwingAccessor.java Java example source code/* * Copyright (c) 2009, 2013, 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. */ package sun.swing; import sun.misc.Unsafe; import java.awt.Point; import javax.swing.text.JTextComponent; import javax.swing.TransferHandler; /** * The SwingAccessor utility class. * The main purpose of this class is to enable accessing * private and package-private fields of classes from * different classes/packages. See sun.misc.SharedSecretes * for another example. */ public final class SwingAccessor { private static final Unsafe unsafe = Unsafe.getUnsafe(); /** * We don't need any objects of this class. * It's rather a collection of static methods * and interfaces. */ private SwingAccessor() { } /** * An accessor for the JTextComponent class. * Note that we intentionally introduce the JTextComponentAccessor, * and not the JComponentAccessor because the needed methods * aren't override methods. */ public interface JTextComponentAccessor { /** * Calculates a custom drop location for the text component, * representing where a drop at the given point should insert data. */ TransferHandler.DropLocation dropLocationForPoint(JTextComponent textComp, Point p); /** * Called to set or clear the drop location during a DnD operation. */ Object setDropLocation(JTextComponent textComp, TransferHandler.DropLocation location, Object state, boolean forDrop); } /** * An accessor for the JLightweightFrame class. */ public interface JLightweightFrameAccessor { /** * Notifies the JLightweight frame that it needs to update a cursor */ void updateCursor(JLightweightFrame frame); } /** * The javax.swing.text.JTextComponent class accessor object. */ private static JTextComponentAccessor jtextComponentAccessor; /** * Set an accessor object for the javax.swing.text.JTextComponent class. */ public static void setJTextComponentAccessor(JTextComponentAccessor jtca) { jtextComponentAccessor = jtca; } /** * Retrieve the accessor object for the javax.swing.text.JTextComponent class. */ public static JTextComponentAccessor getJTextComponentAccessor() { if (jtextComponentAccessor == null) { unsafe.ensureClassInitialized(JTextComponent.class); } return jtextComponentAccessor; } /** * The JLightweightFrame class accessor object */ private static JLightweightFrameAccessor jLightweightFrameAccessor; /** * Set an accessor object for the JLightweightFrame class. */ public static void setJLightweightFrameAccessor(JLightweightFrameAccessor accessor) { jLightweightFrameAccessor = accessor; } /** * Retrieve the accessor object for the JLightweightFrame class */ public static JLightweightFrameAccessor getJLightweightFrameAccessor() { return jLightweightFrameAccessor; } } Other Java examples (source code examples)Here is a short list of links related to this Java SwingAccessor.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.