当前位置: 首页 > article >正文

B4X编程语言:B4J控件的样式设置属性(Style/StyleClasses)

        B4J可以通过B4J控件的Style或StyleClasses属性,使用JavaFX CSS的属性和方法来设置控件的样式和显示效果。

        一、Style属性

        设置或返回控件的外观样式。值类型是String。
        B4J控件的Style属性可以设置控件的背景、文本、边框、内部布局以及整体外观效果,它是由一条或多条JavaFX CSS的属性语句组成的单行字符串。每条语句之间用分号分割。例如:
        Label1.Style=“-fx-background-color: lightgray;” 或
        Label1.Style="-fx-background-color: lightgray;-fx-border-width:2;-fx-border-color:cyan;"

        如果要获取或查看控件的Style属性,可以使用如下语句:
        Dim Style1 As String=Label1.Style
        Log(Style1)

        二、StyleClasses属性

        设置或返回控件的外观样式类名称列表。值类型是List。
        B4J控件的StyleClasses属性通过使用CSS样式表来为特定控件设定特定样式。使用CSS级联样式表,可以将不同类型的样式添加到一个文件中,方便维护。
        使用StyleClasses属性设置控件样式:

        1、编辑CSS样式表,添加控件样式。
        假设我们有一个名称为Style.css的样式表(没有可以新建一个),使用记事本打开,添加样式代码(假设选择器为lb1,通用选择器为Label),示例如下:
        .lb1 ,Label{
                 -fx-font-family: Arial;
                 -fx-font-size: 16pt;
                 -fx-font-weight: bolder; 
                 -fx-background-color: #00ffff;
                 -fx-background-radius: 8;
                 -fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 3, 0.0 , 0 , 1 );
        }
        2、将CSS样式表保存到项目的Files文件夹。
        3、如果是B4XPage项目,则在控件所在页面的B4XPage_Created例程导入样式表。
                form = B4XPages.GetNativeParent(Me)
                form.Stylesheets.Add(File.GetUri(File.DirAssets, "s.css"))
        如果是其它项目,则在Main主模块的AppStart例程导入样式表。
                MainForm.Stylesheets.Add(File.GetUri(File.DirAssets, "s.css"))
        4、将该样式选择器名称添加到想使用该样式的控件的样式类名称列表。
                Button1.StyleClasses.Add("lb1")

        此设置的效果是:该页面所有Label控件和Button1控件将使用该样式。

        备注:
        如果CSS表使用了Label这样的通用选择器名称,则只需在页面导入CSS文件,无需使用StyleClasses,该页面所有Label都将使用这个样式。
        如果某个Label控件不想使用通用样式,可使用Style属性设置。
        如果同页面其它控件想使用该样式,也可以将选择器名称lb1添加到其样式类名称列表中:
                TextField1.StyleClasses.Add("lb1")。


http://www.kler.cn/a/427985.html

相关文章:

  • 【设计模式-行为型】备忘录模式
  • 事务03之MVCC机制
  • 天融信 NGFW2.3 mibs
  • [HOT 100] 0003. 无重复字符的最长子串
  • hdfs:介绍三个脚本
  • 商密测评题库详解:商用密码应用安全性评估从业人员考核题库详细解析(9)
  • 利用R包QstFstComp包进行Qst-Fst分析
  • 处理海量数据的查重方法总结
  • 【WRF运行第一期(Ubuntu)】模型运行前准备
  • 高数极限与连续练习题(自用)
  • 网络渗透实验二(渗透课)
  • 新160个crackme - 109-Jony-crackme
  • ElementUI:el-tabs 切换之前判断是否满足条件
  • docker-3.docker权限问题
  • 开发一个AMT(automatic multicast tunnel)协议库 C++版本,Client,Server详细的设计
  • STM32F103单片机使用STM32CubeMX创建IAR串口工程
  • mac 安装python3和配置环境变量
  • 【Leetcode Top 100】146. LRU 缓存
  • Octo—— 基于80万个机器人轨迹的预训练数据集用于训练通用机器人,可在零次拍摄中解决各种任务
  • 网络资源模板--Android Studio 实现绿豆通讯录
  • 【springboot】 多数据源实现
  • 塑胶模具基本结构及塑胶成型原理
  • ubuntu 使用USB转TTL线连接树莓派4B
  • 【Android】ARouter源码解析
  • Python 信息科技赛课区一等奖教案(语音合成技术)
  • 【Elasticsearch】初始化默认字段及分词