Java™ Platform
Standard Ed. 8
javax.swing.text

Class 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 incremental repair to the layout or alternative breaking behavior.
    Since:
    1.3
    • Constructor Detail

      • FlowStrategy

        public FlowStrategy()
    • Method Detail

      • 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 exhausted, 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 >= 0
        x - 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 flow
        startOffset - the start location for the view being created
        spanLeft - the about of span left to fill in the row
        rowIndex - the row the view will be placed into
Java™ Platform
Standard Ed. 8

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部