javax.swing.text

Class IconView

Implemented Interfaces:
SwingConstants

public class IconView
extends View

A View that can render an icon. This view is created by the StyledEditorKit's view factory for all elements that have name StyleConstants.IconElementName. This is usually created by inserting an icon into JTextPane using JTextPane.insertIcon(Icon) The icon is determined using the attribute StyleConstants.IconAttribute, which's value must be an Icon.

Field Summary

Fields inherited from class javax.swing.text.View

BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS

Fields inherited from interface javax.swing.SwingConstants

BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST

Constructor Summary

IconView(Element element)
Creates a new IconView for the given Element.

Method Summary

float
getAlignment(int axis)
Returns the alignment for this view.
float
getPreferredSpan(int axis)
Returns the preferred span of the content managed by this View along the specified axis.
Shape
modelToView(int pos, Shape a, Position.Bias b)
Maps a position in the document into the coordinate space of the View.
void
paint(Graphics g, Shape a)
Renders the Element that is associated with this View.
int
viewToModel(float x, float y, Shape a, Position.Bias[] b)
Maps coordinates from the View's space into a position in the document model.

Methods inherited from class javax.swing.text.View

append, breakView, changedUpdate, createFragment, dump, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getNextVisualPositionFrom, getParent, getPreferredSpan, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, modelToView, paint, preferenceChanged, remove, removeAll, removeUpdate, replace, setParent, setSize, updateChildren, updateLayout, viewToModel, viewToModel

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

IconView

public IconView(Element element)
Creates a new IconView for the given Element.
Parameters:
element - the element that is rendered by this IconView

Method Details

getAlignment

public float getAlignment(int axis)
Returns the alignment for this view. This will be 1.0 for the Y_AXIS, and the super behaviour for the X_AXIS.
Overrides:
getAlignment in interface View
Parameters:
axis - the axis for which to calculate the alignment
Returns:
the alignment

getPreferredSpan

public float getPreferredSpan(int axis)
Returns the preferred span of the content managed by this View along the specified axis.
Overrides:
getPreferredSpan in interface View
Parameters:
axis - the axis
Returns:
the preferred span of this View.

modelToView

public Shape modelToView(int pos,
                         Shape a,
                         Position.Bias b)
            throws BadLocationException
Maps a position in the document into the coordinate space of the View. The output rectangle usually reflects the font height but has a width of zero.
Overrides:
modelToView in interface View
Parameters:
pos - the position of the character in the model
a - the area that is occupied by the view
b - either Position.Bias.Forward or Position.Bias.Backward depending on the preferred direction bias. If null this defaults to Position.Bias.Forward
Returns:
a rectangle that gives the location of the document position inside the view coordinate space
Throws:
BadLocationException - if pos is invalid
IllegalArgumentException - if b is not one of the above listed valid values

paint

public void paint(Graphics g,
                  Shape a)
Renders the Element that is associated with this View.
Overrides:
paint in interface View
Parameters:
g - the Graphics context to render to
a - the allocated region for the Element

viewToModel

public int viewToModel(float x,
                       float y,
                       Shape a,
                       Position.Bias[] b)
Maps coordinates from the View's space into a position in the document model.
Overrides:
viewToModel in interface View
Parameters:
x - the x coordinate in the view space
y - the y coordinate in the view space
a - the allocation of this View
b - the bias to use
Returns:
the position in the document that corresponds to the screen coordinates x, y

IconView.java -- A view to render icons Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath 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 for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.