资讯专栏INFORMATION COLUMN

GoJS 绘图 (二) :TextBlocks

岳光 / 2479人阅读

摘要:使用类来显示文本字体和颜色大小和文本的外观风格被指定。为了换行的情况发生,属性不能为无,必须有一些限制宽窄文本块默认文本块不换行剪裁文本块换行文本块清理边距对齐方式属性指定的尺寸内绘制文字点排列方式。注验证稍后完善。

使用TextBlocks类来显示文本.

字体和颜色

大小和文本的外观风格被指定TextBlock.font。值可以是任何CSS字体符串。
文本颜色使用TextBlock.stroke。值可以是任何的CSS颜色字符串。默认情况下,颜色为“黑”。
您也可以指定背景:GraphObject.background。默认为无颜色,这会导致一个透明背景。背景总是矩形。
这些简单的演示,创建了文本块,并将其添加到图中

    diagram.add(G(
    go.Part,
    "Horizontal",
    G(
        go.TextBlock,
        {
            text: "文本块"
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块颜色",
            stroke: "#492"
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块背景",
            background: "#492"
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块字体",
            font: "bold 22px serif"
        }
    )
));
宽度和高度

TextBlock只是呈现文本字符串指定的字体。然而TextBlock的实际尺寸可以是任一尺寸,尺寸过大增加无文本区域; 尺寸过小产生文本的剪裁。
为了证明这一点,下面例子中的TextBlock,都具有明确的宽高。为了更好地展现下面的TextBlocks的实际大小,我们已经给了他们浅绿背景。

diagram.add(G(
    go.Part,
    "Horizontal",
    G(
        go.TextBlock,
        {
            text: "文本块宽度和高度",
            background: "#492",
            margin: 5
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块宽度和高度",
            background: "#492",
            margin: 5,
            width: 100,
            height: 30
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块宽度和高度",
            background: "#492",
            margin: 5,
            width: 60,
            height: 30
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块宽度和高度",
            background: "#492",
            margin: 5,
            width: 60,
            height: 20
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块宽度和高度",
            background: "#492",
            margin: 5,
            width: 60,
            height: 10
        }
    )
));
换行

文本也可以通过自动换到其他行。为了换行的情况发生,TextBlock.wrap属性不能为无,必须有一些限制宽窄

diagram.add(G(
    go.Part,
    "Horizontal",
    G(
        go.TextBlock,
        {
            text: "文本块默认",
            background: "#492",
            margin: 1,
            width:40
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块不换行剪裁",
            background: "#492",
            margin: 1,
            width:75,
            wrap: go.TextBlock.None
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块换行  Wrap",
            background: "#492",
            margin: 1,
            width:75,
            wrap: go.TextBlock.WrapDesiredSize
        }
    ),
    G(
        go.TextBlock,
        {
            text: "文本块清理边距  Wrap",
            background: "#492",
            margin: 1,
            width:120,
            wrap: go.TextBlock.WrapFit
        }
    )
));
对齐方式

TextBlock.textAlign属性指定的尺寸内绘制文字点排列方式。
这比不同GraphObject.alignment属性,它控制在哪里放置由父级分配区域。

diagram.add(G(
    go.Part,
    "Horizontal",
    G(
        go.Panel,
        "Vertical",
        {
            width: 150,
            defaultStretch: go.GraphObject.Horizontal
        },
        G(
            go.TextBlock,
            {
                text: "左对齐",
                background: "#492",
                textAlign: "left",
                margin: 2
            }
        ),
        G(
            go.TextBlock,
            {
                text: "居中",
                background: "#492",
                textAlign: "center",
                margin: 2
            }
        ),
        G(
            go.TextBlock,
            {
                text: "右对齐",
                background: "#492",
                textAlign: "right",
                margin: 2
            }
        )
    ),
    G(
        go.Panel,
        "Vertical",
        {
            width: 150,
            defaultStretch: go.GraphObject.None
        },
        G(
            go.TextBlock,
            {
                text: "左对齐",
                background: "#492",
                alignment: go.Spot.Left,
                margin: 2
            }
        ),
        G(
            go.TextBlock,
            {
                text: "居中",
                background: "#492",
                alignment: go.Spot.Center,
                margin: 2
            }
        ),
        G(
            go.TextBlock,
            {
                text: "右对齐",
                background: "#492",
                alignment: go.Spot.Right,
                margin: 2
            }
        )
    )
));
编辑

GoJS也支持由用户就地编辑文字。你只需要在设置TextBlock.editable属性设置为true。
如果你希望提供用户的输入文本验证,可以设置TextBlock.textValidation属性的功能。您也可以提供通过设置更加个性化的或复杂的文本编辑器TextBlock.textEditor属性。注:验证稍后完善。

diagram.add(G(
    go.Part,
    "Vertical",
    G(
        go.TextBlock,
        {
            text: "选中后,单击编辑,不可换行",
            background: "#492",
            margin: 5,
            editable: true,
            isMultiline: false
        }
    ),
    G(
        go.TextBlock,
        {
            text: "允许嵌入换行",
            background: "#492",
            margin: 5,
            editable: true
        }
    )
));

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79551.html

相关文章

  • GoJS 绘图 (四) :构建节点与GraphObjects

    摘要:你可以构建一个节点或其类型的代码。以下将讨论基本类型,你可以用它来建立一个节点对象。这些页面通过明确创建和添加节点和链路建立的示意图。一个非常简单的节点由一个与构成。虽然以这种方式构建的节点将工作变得更加复杂的代码将变得更加难以阅读和维护。 你可以构建一个节点或其类型的JavaScript代码。以下将讨论基本类型,你可以用它来建立一个节点对象。这些页面通过明确创建和添加节点和链路建立的...

    jokester 评论0 收藏0
  • GoJS 绘图 (三) :shapes

    摘要:绘制一个几何图形。您可以控制什么样的形状绘制以及它是如何绘画和填充。形状不像的和,形状不能包含任何其他对象。还需要设置或和参数,作为确定形状尺寸。在这些简单的演示,该代码创建一个图形,并将其添加到画布中。属性指定轮廓的粗细。 绘制一个几何图形。您可以控制什么样的形状绘制以及它是如何绘画和填充。形状不像的TextBlocks和Pictures,形状不能包含任何其他对象。 基础图形 您可以...

    siberiawolf 评论0 收藏0
  • GoJS 绘图 (七) :表面板(tablePanel)

    摘要:表板中的每个对象被放入由的值索引的和。面板会看行和列的所有在面板中的对象,以确定该表应多少行和列。一行一列一行二列二行一列二行三列请注意,并非表中的每一个列需要有一个存在。属性指定的宽度和或高度是否应该承担全部由面板给它的空间。 表板中的每个对象被放入由的值索引的GraphObject.row和GraphObject.column。面板会看行和列的所有在面板中的对象,以确定该表应多少行...

    sushi 评论0 收藏0
  • GoJS 绘图 (一) :入门

    摘要:是一个库,让你轻松创建现代浏览器的交互图。支持图形化的模板和图形对象属性数据模型的数据绑定。许多预定义的工具和命令执行,大部分的图表所需要的标准的行为。外观和行为的定制是大多设置属性的问题。 GoJS是一个JavaScript库,让你轻松创建现代Web浏览器的交互图。 GoJS支持图形化的模板和图形对象属性数据模型的数据绑定。你只需要保存和恢复模型,包括持有任何性质的应用需求,简单的J...

    X_AirDu 评论0 收藏0
  • GoJS 绘图 (十) :链接(完结)

    摘要:非定向链接最简单的链接没有箭头指示方向。该模板只包含一个形状为主要元素,因为这是在节点之间绘制的线条。链接的路线被计算后将得到一个路径的点。可以很容易地建立方向,只需添加一个形状并设置其属性。目前也就只能先写这么多吧入门的话问题不大了 非定向链接 最简单的链接没有箭头指示方向。该模板只包含一个形状为主要元素,因为这是在节点之间绘制的线条。链接的路线被计算后将得到一个路径的点。 diag...

    Rocko 评论0 收藏0

发表评论

0条评论

岳光

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<