#
luxiaotao1123
2020-09-02 2d12d97174a5f6cc03ad6cd1e04444400bb99b1a
#
1个文件已修改
109 ■■■■ 已修改文件
src/main/java/com/zy/core/thread/LedThread.java 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/LedThread.java
@@ -9,9 +9,11 @@
import onbon.bx05.Bx5GScreenClient;
import onbon.bx05.area.TextCaptionBxArea;
import onbon.bx05.area.page.TextBxPage;
import onbon.bx05.cmd.dyn7.DynamicBxAreaRule;
import onbon.bx05.file.ProgramBxFile;
import onbon.bx05.message.led.ReturnControllerStatus;
import onbon.bx05.utils.DisplayStyleFactory;
import java.awt.*;
/**
 * Created by vincent on 2020/9/1
@@ -114,6 +116,57 @@
            // status 还有很对其他接口,可以根据实际需求再次调用以获取相应状态
        }
//
        // 以下是静态区部分 Demo
        // 创建节目文件
        ProgramBxFile pf = new ProgramBxFile( 0,screen.getProfile() );
// 是否显示节目边框
        pf.setFrameShow(true);
// 节目边框的移动速度
        pf.setFrameSpeed(20);
// 使用第几个内置边框
        pf.loadFrameImage(13);
        DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
// 创建一个文本区
        // 分别输入X,Y,width,heigth
        // 注意区域坐标和宽度高度,不要越界
        TextCaptionBxArea area = new TextCaptionBxArea( 0,0,160,64,screen.getProfile() );
        // 创建一个数据页
        // 第一行数据
        TextBxPage page = new TextBxPage("仰邦科技欢迎你");
        // 第二行数据
        page.newLine( "这是第二行" );
        // 设置字体
        page.setFont( new Font("宋体",Font.PLAIN,12) );
        // 设置显示特技为快速打出
        page.setDisplayStyle( styles[2] );
        // 数据页可以是图片
//        ImageFileBxPage iPage = new ImageFileBxPage( "E;a/001.bmp" );
//
//        // 数据页可以是txt文件
//        TextFileBxPage tPage  = new TextFileBxPage("E:a/001.txt");
        // 将前面的page添加到area中 area中可以添加多个page 其中page可以是字符串,可以是txt文件,可以是图片,不可以是表格,如果需要Led屏上显示表格,请先将表格绘制成图片
        area.addPage( page );
//        area.addPage( iPage );
//        area.addPage( tPage );
        // 将area添加到节目中  节目中可以添加多个area
        pf.addArea( area );
        // 更新节目
        screen.writeProgram( pf );
        //
@@ -135,36 +188,36 @@
        //
        // 定义一个动态区
        // 可以通过ID来更新不同的动态区内容, 此处 ID 为 0
        DynamicBxAreaRule dynRule = new DynamicBxAreaRule(0, (byte) 0, (byte) 1, 0);
//        DynamicBxAreaRule dynRule = new DynamicBxAreaRule(0, (byte) 0, (byte) 1, 0);
        //dArea.addProgram("P000");
        //dArea.addProgram("P001");
        int posX = 440;
        int posY = 4;
        TextCaptionBxArea dAreaContent = new TextCaptionBxArea(posX, posY, 64, 16, screen.getProfile());
        TextBxPage page = new TextBxPage("动态第一次尝试");
        page.setDisplayStyle(DisplayStyleFactory.getStyle(4));
        dAreaContent.addPage(page);
        // 发送动态区之前,如果需要删除之前的动态区,可以调用以下接口
        // 通常如果动态区的位置或大小没有发生改变,不用删除
        screen.deleteAllDynamic();
        // 更新动态区
        screen.writeDynamic(dynRule, dAreaContent);
        Thread.sleep(15000);
        //
        // 下面模拟再次更新动态区
        page = new TextBxPage("再次尝试");
        TextBxPage page2 = new TextBxPage("成功");
        dAreaContent.clearPages();
        dAreaContent.addPage(page);
        dAreaContent.addPage(page2);
        // 更新动态区
        screen.writeDynamic(dynRule, dAreaContent);
//        int posX = 440;
//        int posY = 4;
//        TextCaptionBxArea dAreaContent = new TextCaptionBxArea(posX, posY, 64, 16, screen.getProfile());
//        TextBxPage page = new TextBxPage("动态第一次尝试");
//        page.setDisplayStyle(DisplayStyleFactory.getStyle(4));
//        dAreaContent.addPage(page);
//
//        // 发送动态区之前,如果需要删除之前的动态区,可以调用以下接口
//        // 通常如果动态区的位置或大小没有发生改变,不用删除
//        screen.deleteAllDynamic();
//
//        // 更新动态区
//        screen.writeDynamic(dynRule, dAreaContent);
//        Thread.sleep(15000);
//
//        //
//        // 下面模拟再次更新动态区
//        page = new TextBxPage("再次尝试");
//        TextBxPage page2 = new TextBxPage("成功");
//
//        dAreaContent.clearPages();
//        dAreaContent.addPage(page);
//        dAreaContent.addPage(page2);
//
//        // 更新动态区
//        screen.writeDynamic(dynRule, dAreaContent);
        //
        // 继开与控制器之间的链接