组件的Style的设置:

来源:未知 责任编辑:责任编辑 发表时间:2013-11-15 19:45 点击:

当你使用LWUIT的这些Component时,如果一个页面中的布局比较复杂,组件很多,而且页面比较多时,常用的组件诸如 Label,Button,TextField,TextArea等会用的非常平凡。用起这些组件时,我们常常会设置它的Style,Style很像 web里的css,它能够让我们自定义Border,Font,FgColor,BgColor,Margin,Padding,设置一个组件的 Style的代码很简单:


  代码


this.getStyle().setBorder(Border border)


  但是大多数的组件都有Style和selectedStyle,能够被点击的Button及其子类还有pressedStyle,以上面一句为例,它仅仅只能设置这个组件未选中的时候的Border,当选中它时,又会回到系统代码中设定的模样。一个页面有很多组件,大多数的组件都要设置 Style(选中和未选中的Style),虽然代码是很简单,但是一个页面写下来,你会发现你至少一半的代码都花在布局和设置样式上了,代码看起来非常臃肿。


  好在LWUIT是开源的,我们可以修改它的源代码来自定义这些UI的方法,找到Component.java文件,我们只需要在这个文件中添加几个方法来简化我们的Style设置。


  以下是我在Component.java类中添加的一些方法,代码我写的比较粗糙,你们可以按照自己的方式来写, 理论上每个方法都应该有两个参数,未选中和选中的状态,传参时可以为null,需要进行一些判断以适合大多数的情况。


  代码


    //1469行起是添加的代码

    /**

     * 设置自定义的Font

     * @param font

     */

    public void setCustomFont(Font font) {

        this.getStyle().setFont(font);

        this.getSelectedStyle().setFont(font);

    }

    /**

     * 设置水平方向Margin

     * @param margin

     */

    public void setCustomHorizontalMargin(int margin) {

        this.getStyle().setMargin(Component.LEFT, margin);

        this.getStyle().setMargin(Component.RIGHT, margin);

        this.getSelectedStyle().setMargin(Component.LEFT, margin);

        this.getSelectedStyle().setMargin(Component.RIGHT, margin);

    }

    /**

     * 设置自定义的Border

     * @param border

     */

    public void setCustomBorder(Border border){

        this.getStyle().setBorder(border);

        this.getSelectedStyle().setBorder(border);

    }

    /**

     *设置自定义FgColor

     * @param unsectedColor

     *              未选中时的颜色

     * @param selectedColor

     *              选中时的颜色

     */

    public void setCustomFgColor(int unsectedColor, int selectedColor){

        this.getStyle().setFgColor(unsectedColor);

        this.getSelectedStyle().setFgColor(selectedColor);

    }

    /**

     * 设置自定义的Style

     *              Style包含选中和未选中的情况,属性包含Margin,Padding,Border,FgColor,BgColor,Font等

     * @param unselectedStyle

相关新闻>>

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Java编程语言的八大优点
    • JVM对象生命周期详细介绍
    • Java平台上的CRM系统
    • Java 算数测试小程序
    • Command(命令模式)
    • Java环境 使用Resin在NT环境下配置JSP环境
    • Java 一个简单的画图程序
    • Java 日历的小程序
    • Java 统计代码的小工具
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1