- java.lang.Object
-
- javax.swing.text.FlowView.FlowStrategy
-
- Enclosing class:
- FlowView
public static class FlowView.FlowStrategy extends Object
Strategy for maintaining the physical form of the flow. The default implementation is completely stateless, and recalculates the entire flow if the layout is invalid on the given FlowView. Alternative strategies can be implemented by subclassing, and might perform incrementatal repair to the layout or alternative breaking behavior.- Since:
- 1.3
-
-
Constructor Summary
Constructors Constructor and Description FlowView.FlowStrategy()
-
Method Summary
Methods Modifier and Type Method and Description protected void
adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x)
Adjusts the given row if possible to fit within the layout span.void
changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Gives notification from the document that attributes were changed in a location that this view is responsible for.protected View
createView(FlowView fv, int startOffset, int spanLeft, int rowIndex)
Creates a view that can be used to represent the current piece of the flow.protected View
getLogicalView(FlowView fv)
This method gives flow strategies access to the logical view of the FlowView.void
insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Gives notification that something was inserted into the document in a location that the given flow view is responsible for.void
layout(FlowView fv)
Update the flow on the given FlowView.protected int
layoutRow(FlowView fv, int rowIndex, int pos)
Creates a row of views that will fit within the layout span of the row.void
removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Gives notification that something was removed from the document in a location that the given flow view is responsible for.
-
-
-
Method Detail
-
insertUpdate
public void insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Gives notification that something was inserted into the document in a location that the given flow view is responsible for. The strategy should update the appropriate changed region (which depends upon the strategy used for repair).- Parameters:
e
- the change information from the associated documentalloc
- the current allocation of the view inside of the insets. This value will be null if the view has not yet been displayed.- See Also:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
removeUpdate
public void removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Gives notification that something was removed from the document in a location that the given flow view is responsible for.- Parameters:
e
- the change information from the associated documentalloc
- the current allocation of the view inside of the insets.- See Also:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
changedUpdate
public void changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Gives notification from the document that attributes were changed in a location that this view is responsible for.- Parameters:
fv
- theFlowView
containing the changese
- theDocumentEvent
describing the changes done to the Documentalloc
- Bounds of the View- See Also:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
getLogicalView
protected View getLogicalView(FlowView fv)
This method gives flow strategies access to the logical view of the FlowView.
-
layout
public void layout(FlowView fv)
Update the flow on the given FlowView. By default, this causes all of the rows (child views) to be rebuilt to match the given constraints for each row. This is called by a FlowView.layout to update the child views in the flow.- Parameters:
fv
- the view to reflow
-
layoutRow
protected int layoutRow(FlowView fv, int rowIndex, int pos)
Creates a row of views that will fit within the layout span of the row. This is called by the layout method. This is implemented to fill the row by repeatedly calling the createView method until the available span has been exhausted, a forced break was encountered, or the createView method returned null. If the remaining span was exhaused, the adjustRow method will be called to perform adjustments to the row to try and make it fit into the given span.- Parameters:
rowIndex
- the index of the row to fill in with views. The row is assumed to be empty on entry.pos
- The current position in the children of this views element from which to start.- Returns:
- the position to start the next row
-
adjustRow
protected void adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x)
Adjusts the given row if possible to fit within the layout span. By default this will try to find the highest break weight possible nearest the end of the row. If a forced break is encountered, the break will be positioned there.- Parameters:
rowIndex
- the row to adjust to the current layout span.desiredSpan
- the current layout span >= 0x
- the location r starts at.
-
createView
protected View createView(FlowView fv, int startOffset, int spanLeft, int rowIndex)
Creates a view that can be used to represent the current piece of the flow. This can be either an entire view from the logical view, or a fragment of the logical view.- Parameters:
fv
- the view holding the flowstartOffset
- the start location for the view being createdspanLeft
- the about of span left to fill in the rowrowIndex
- the row the view will be placed into
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-javax/swing/text/flowview.flowstrategy.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.