FTPC可以通过将层叠样式表(CSS)应用于Form,可以为应用程序创建定制的外观,而无需更改应用程序的实现。放置在应用样式表的Form上的所有Swing和Plant Operations GUI控件都将根据样式表进行定制。

       CSS定义可以存储为List或应用程序表。

       如果希望使用StyleSheet格式化窗体,需要确保在设置窗体时Form控件名不包含下划线(_)。

       通过调用Form.applyStylesheet(字符串)方法应用StyleSheet。字符串参数是作为字符串的整个CSS定义,而不是保存CSS定义的List或应用程序表的名称。也可以将CSS定义分配给通过调用自定义Form打开的表单和对话框。applyStylesheet(String、Boolean)的方法:

  • 如果为true,那么对话框将使用与其父窗体相同的样式配置进行定制。这是默认值。
  • 如果为false,则对话框不是自定义的。

定义样式表

语法:

<selector> {

        property1:value;

        property2:value;

        …

}

支持选择器

  • 元素节点选择器(Element Node Selector)

具有语法“CLASSNAME”,并按类名选择单个图形组件。例如,在下面的节点中,单个图形组件是一个平面按钮:

JButton, FlatButton{

        cursor:default;

        style:flat;

        border-style:raised-3d;

        height:25;

        text-align:middlecenter;

        font-style:plain;

}

  • 子选择器(Child Selector)

        具有语法“PARENT>CHILD”,并选择包含在另一个图形组件中的图形组件。例如,在下面的节点中,一个面板包含在一个嵌入式表单中:

EmbeddedForm > Panel {

        border-style:etched;

}

  • 条件选择器(Conditional Selector)

        选择符合条件的所有图形组件。目前,支持的条件是class条件和ID条件。这个选择器有语法”.class”或” #id “,分别。下面的示例定义了嵌入式表单上特定状态栏的样式。

EmbeddedForm#efStatusBar > * > Edit{

        border-style:fixed-3d;

}

        可以使用星号(*)表示通用选择器。在上面的示例中,*号表示该规则适用于状态栏的任何容器中Edit类型的所有子元素。

  • 任意节点选择器(Any Node Selector)

       选择所有组件并使用关键字“*”。例如,下面的CSS部分定义了所有组件中使用的颜色:

* {

        foreground-color:rgb(0,51,153);

        background-color:  rgb(236,233,216);

        disabled-color: rgb(236,233,216);

        border-style:none;

}

注意:在定义样式表时,标识符(包括选择器中的元素名称、类和id)不能以连字符(-)或数字开头。

可以定义的CSS属性以及将受影响的Form对象和控件

CSS Property Affected Object/Control CSS Property Affected Object/Control
above-tolerance-color ScalesControl font-family CControl, JComponent
alt-rowcolor DsGrid font-size CControl, JComponent
alternate-rowcolors DsGrid font-style CControl, JComponent
background-color CControl, JComponent foreground-color CControl, JComponent
below-tolerance-color ScalesControl header-borderstyle DsGrid
bgimage DsGrid, FlatBase, JButton, JCheckBox, JLabel, JRadioButton header-fontfamily DsGrid
bgimage-align FlatBase header-fontsize DsGrid
border-color CControl, JComponent header-fontstyle DsGrid
border-style Edit, Form, JComponent, ListBox, MaskEdit, Panel, PictureBox, ProgressBar, TreeView height CControl, JComponent
bounds CControl in-tolerance-color ScalesControl
cell-selection DsGrid layout-style Form, Panel
cell-selection-background DsGrid location FlatButton
cell-selection-bordercolor DsGrid nominal-marker-color ScalesControl
cell-selection-foreground DsGrid row-height DsGrid
column-resizing DsGrid row-selection DsGrid
column-width DsGrid row-selection-background DsGrid
cursor CControl, JComponent row-selection-border DsGrid
disabled-color CControl, JComponent row-selection-bordercolor DsGrid
dock CControl row-selection-foreground DsGrid
dosagebar-bgcolor ScalesControl size CControl, JComponent
dosagebar-fgcolor ScalesControl style ComboBox, JComponent, FlatBase
enabled CControl text-align FlatBase
flow-alignment Form, Panel visible CControl
focused CControl width CControl
    z-order CControl

CSS可接收属性值

  • above-tolerance-color

 

  • bgimage

bgimage:url(db:image); /*image 对象*/

bgimage:url(http:image.jpg);

  • bgimage-align

topleft|topcenter|topright|middleleft|middlecenter|middleleft|bottomleft|bottomcenter|bottomright

  • text-align

该属性值存在BUG,不能配置FlatButton的text-align属性。


版权声明:本文为panjin72原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/panjin72/article/details/108063629