javax.swing.text

Class FieldView

Implemented Interfaces:
SwingConstants, TabExpander
Known Direct Subclasses:
PasswordView

public class FieldView
extends PlainView

Field Summary

Fields inherited from class javax.swing.text.PlainView

metrics

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

FieldView(Element elem)
Creates a new View instance.

Method Summary

protected Shape
adjustAllocation(Shape shape)
Vertically centers the single line of text within the bounds of the input shape.
void
changedUpdate(DocumentEvent ev, Shape shape, ViewFactory vf)
Receive notification about a change update to the text model.
protected FontMetrics
getFontMetrics()
float
getPreferredSpan(int axis)
int
getResizeWeight(int axis)
void
insertUpdate(DocumentEvent ev, Shape shape, ViewFactory vf)
Receive notification about an insert update to the text model.
Shape
modelToView(int pos, Shape a, Position.Bias bias)
Maps a position in the document into the coordinate space of the View.
void
paint(Graphics g, Shape s)
void
removeUpdate(DocumentEvent ev, Shape shape, ViewFactory vf)
Receive notification about a remove update to the text model.
int
viewToModel(float fx, float fy, Shape a, Position.Bias bias)
Maps coordinates from the View's space into a position in the document model.

Methods inherited from class javax.swing.text.PlainView

drawLine, drawSelectedText, drawUnselectedText, getPreferredSpan, getTabSize, lineToRect, modelToView, nextTabStop, paint, updateMetrics, viewToModel

Methods inherited from class javax.swing.text.View

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

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

FieldView

public FieldView(Element elem)
Creates a new View instance.

Parameters:
elem - an Element value

Method Details

adjustAllocation

protected Shape adjustAllocation(Shape shape)
Vertically centers the single line of text within the bounds of the input shape. The returned Rectangle is centered vertically within shape and has a height of the preferred span along the Y axis. Horizontal adjustment is done according to the horizontalAligment property of the component that is rendered.

Parameters:
shape - the shape within which the line is beeing centered


changedUpdate

public void changedUpdate(DocumentEvent ev,
                          Shape shape,
                          ViewFactory vf)
Receive notification about a change update to the text model. The default implementation of this method does the following:
Overrides:
changedUpdate in interface View

Parameters:
ev - the DocumentEvent that describes the change
shape - the shape of the view
vf - the ViewFactory for creating child views


getFontMetrics

protected FontMetrics getFontMetrics()


getPreferredSpan

public float getPreferredSpan(int axis)
Overrides:
getPreferredSpan in interface PlainView


getResizeWeight

public int getResizeWeight(int axis)
Overrides:
getResizeWeight in interface View


insertUpdate

public void insertUpdate(DocumentEvent ev,
                         Shape shape,
                         ViewFactory vf)
Receive notification about an insert update to the text model. The default implementation of this method does the following:
Overrides:
insertUpdate in interface View

Parameters:
ev - the DocumentEvent that describes the change
shape - the shape of the view
vf - the ViewFactory for creating child views


modelToView

public Shape modelToView(int pos,
                         Shape a,
                         Position.Bias bias)
            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. Position.Bias.Backward depending on the preferred direction bias. If null this defaults to Position.Bias.Forward
Overrides:
modelToView in interface PlainView

Parameters:
pos - the position of the character in the model
a - the area that is occupied by the view

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 s)
Overrides:
paint in interface PlainView


removeUpdate

public void removeUpdate(DocumentEvent ev,
                         Shape shape,
                         ViewFactory vf)
Receive notification about a remove update to the text model. The default implementation of this method does the following:
Overrides:
removeUpdate in interface View

Parameters:
ev - the DocumentEvent that describes the change
shape - the shape of the view
vf - the ViewFactory for creating child views


viewToModel

public int viewToModel(float fx,
                       float fy,
                       Shape a,
                       Position.Bias bias)
Maps coordinates from the View's space into a position in the document model.
Overrides:
viewToModel in interface PlainView

Parameters:
a - the allocation of this View

Returns:
the position in the document that corresponds to the screen coordinates x, y


FieldView.java -- Copyright (C) 2004 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.