onbon.bx06.file
Class ProgramBxFile

java.lang.Object
  extended by onbon.bx06.file.ProgramBxFile
All Implemented Interfaces:
BxFile

public class ProgramBxFile
extends Object
implements BxFile

节目文件,用来规划显示内容。
节目即为屏幕上播放的内容,每个节目由多个不同性质的区域组合,各区域有自己的显示位置、内容与方式。
在设计节目时:
1. 建立节目。
2. 决定是否要显示边框效果并设定相关条件。
3. 增加显示区域至节目中: 3.1 节目在屏幕上的位置 (x, y) 与有效大小 (width, height)。若区域的位置不在节目有效范围内,屏幕将不会显示该区域的内容。 3.2 决定区域是否显示边框效果并设定相关条件。 3.3 设定区域其他显示属性。 3.4 加入节目中 目前可加入节目的区域有:图文、时间、温度、湿度、噪音。

 ProgramBxFile file = new ProgramBxFile("P001", screen.getProfile());
 file.setFrameShow(false);

 TemperatureBxArea area1 = new TemperatureBxArea(0, 0, 100, 30, screen.getProfile());
 NoiseBxArea area2 = new NoiseBxArea(0, 0, 100, 30, screen.getProfile());

 file.addArea(area1);
 file.addArea(area2);
 
 

Author:
ONBON
See Also:
日期时间区域, 湿度区域, 噪音区域, 温度区域, 图文区愈, 时间区域

Nested Class Summary
static class ProgramBxFile.ProgramWeek
          播放日。
 
Nested classes/interfaces inherited from interface onbon.bx06.file.BxFile
BxFile.Binary
 
Constructor Summary
ProgramBxFile(int programId, Bx6GScreenProfile screenProfile)
          建构子。
ProgramBxFile(String programName, Bx6GScreenProfile screenProfile)
          建构子。
 
Method Summary
 void addArea(BxArea area)
          增加区域。
 void addPlayPeriodSetting(int startHour, int startMinute, int startSecond, int endHour, int endMinute, int endSecond)
          增加播放时间区段。
 BxFile.Binary generate()
          产生文件的位元组资讯。
 int getAreaCount()
          取得区域总数。
 BxArea[] getAreas()
          取得区域。
 int getEndDay()
          取得结束播放日。
 int getEndMonth()
          取得结束播放月份。
 int getEndYear()
          取得结束播放年。
 String getFileName()
          取得文件名称。
 onbon.bx06.message.common.FileType getFileType()
          取得文件类型。
 int getFrameMoveStep()
          取得边框移动步长,单位 pixel,范围 1 - 16。
 int getFrameSpeed()
          取得边框显示速度,1 - 48。
 int getFrameStyle()
          取得边框显示效果。
0:闪烁。
1:顺时针转动。
2:逆时钟转动。
3:闪烁并顺时钟转动。
4:闪烁并逆时钟转动。
5:红绿交替闪烁。
6:红绿交替转动。
7:静止打出。
 int getFrameWidth()
          取得边框寬度。
 ArrayList<onbon.bx06.message.file.PlayPeriodSetting> getPlayPeriodSettings()
          取得播放时间设定。可增加多个播放的时间起迄。
 int getPriority()
          取得节目等级。 0:一般,1:优先。
 int getProgramPlayTimes()
          取得重复播放次数。
 int getProgramTimeSpan()
          取得节目播放时间长度,单位为秒。
当控制器上有多个节目时,会根据此设定控制节目被播放的时间长,当控制器上只有一个节目时,此设定没有效果。
 * 控制节目播放有效时间,可利用 addPlayPeriosSetting 规划。
 ProgramBxFile.ProgramWeek getProgramWeek()
          取得播放周设定。
 int getStartDay()
          取得开始播放日。
 int getStartMonth()
          取得开始播放月份。
 int getStartYear()
          取得开播放放年。
 boolean isFrameShow()
          取得是否显示边框。
 int loadFrameImage(BufferedImage image)
          载入边框特效底图。
 int loadFrameImage(int styleIndex)
          载入內建边框特效底图。
 BufferedImage preview()
           
 void save(String dir)
          儲存。
 void setEndDay(int endDay)
          设定结束播放日。
 void setEndMonth(int endMonth)
          设定结束播放月份。
 void setEndYear(int endYear)
          设定结束播放年。
 void setFrameMoveStep(int frameMoveStep)
          设置边框移动步长。单位 pixel,范围 1 - 16。
 void setFrameShow(boolean frameShow)
          设定是否显示边框。
 void setFrameSpeed(int frameSpeed)
          设置边框显示速度,1 - 48。
 void setFrameStyle(int frameStyle)
          设置边框显示效果。
0:闪烁。
1:顺时针转动。
2:逆时钟转动。
3:闪烁并顺时钟转动。
4:闪烁并逆时钟转动。
5:红绿交替闪烁。
6:红绿交替转动。
7:静止打出。
 void setPriority(int priority)
          设定节目等级。 0:一般,1:优先。
 void setProgramPlayTimes(int programPlayTimes)
          设定重复播放次数。
 void setProgramTimeSpan(int programTimeSpan)
          设定节目播放时间长度,单位为秒,0:循序播放。
当控制器上有多个节目时,会根据此设定控制节目被播放的时间长,当控制器上只有一个节目时,此设定没有效果。
 * 控制节目播放有效时间,可利用 addPlayPeriosSetting 规划。
 void setStartDay(int startDay)
          设定开始播放日。
 void setStartMonth(int startMonth)
          设定开始播放月份。
 void setStartYear(int startYear)
          设定播放开始年。有效年至 2099,-1 则立即播放。
 void setupStartEndDate(Date startDate, Date endDate)
          设定播放起迄日。有效设定为年、月、日。
 BxArea validate()
          驗證區域是否皆在屏幕範圍內。
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProgramBxFile

public ProgramBxFile(int programId,
                     Bx6GScreenProfile screenProfile)
建构子。

Parameters:
programId - 节目编号组,0-999。
screenProfile - 屏幕规格。

ProgramBxFile

public ProgramBxFile(String programName,
                     Bx6GScreenProfile screenProfile)
建构子。

Parameters:
programName - 节目名称。长度为四,第一码为 P,后三码为数字,例如 P042。
screenProfile - 屏幕规格。
Method Detail

getFileName

public String getFileName()
Description copied from interface: BxFile
取得文件名称。

Specified by:
getFileName in interface BxFile
Returns:
文件名称。

getPriority

public int getPriority()
取得节目等级。 0:一般,1:优先。

Returns:
节目等级。

setPriority

public void setPriority(int priority)
设定节目等级。 0:一般,1:优先。

Parameters:
priority - 节目等级。

getProgramPlayTimes

public int getProgramPlayTimes()
取得重复播放次数。

Returns:
重复播放次数。

setProgramPlayTimes

public void setProgramPlayTimes(int programPlayTimes)
设定重复播放次数。

Parameters:
programPlayTimes - 重复播放次数。

getProgramTimeSpan

public int getProgramTimeSpan()
取得节目播放时间长度,单位为秒。
当控制器上有多个节目时,会根据此设定控制节目被播放的时间长,当控制器上只有一个节目时,此设定没有效果。
 * 控制节目播放有效时间,可利用 addPlayPeriosSetting 规划。

Returns:
节目播放时间长度。

setProgramTimeSpan

public void setProgramTimeSpan(int programTimeSpan)
设定节目播放时间长度,单位为秒,0:循序播放。
当控制器上有多个节目时,会根据此设定控制节目被播放的时间长,当控制器上只有一个节目时,此设定没有效果。
 * 控制节目播放有效时间,可利用 addPlayPeriosSetting 规划。

Parameters:
programTimeSpan - 节目播放时间长度。

getProgramWeek

public ProgramBxFile.ProgramWeek getProgramWeek()
取得播放周设定。

Returns:
播放周设定。

setupStartEndDate

public void setupStartEndDate(Date startDate,
                              Date endDate)
设定播放起迄日。有效设定为年、月、日。

Parameters:
startDate - 开始日。
endDate - 结束日。

getStartYear

public int getStartYear()
取得开播放放年。

Returns:
开始播放年。

setStartYear

public void setStartYear(int startYear)
设定播放开始年。有效年至 2099,-1 则立即播放。

Parameters:
startYear - 播放开始年。

getStartMonth

public int getStartMonth()
取得开始播放月份。

Returns:
开始播放月份。

setStartMonth

public void setStartMonth(int startMonth)
设定开始播放月份。

Parameters:
startMonth - 开始播放月份。

getStartDay

public int getStartDay()
取得开始播放日。

Returns:
开始播放日。

setStartDay

public void setStartDay(int startDay)
设定开始播放日。

Parameters:
startDay - 开始播放日。

getEndYear

public int getEndYear()
取得结束播放年。

Returns:
结束播放年。

setEndYear

public void setEndYear(int endYear)
设定结束播放年。

Parameters:
endYear - 结束播放年。

getEndMonth

public int getEndMonth()
取得结束播放月份。

Returns:
结束播放月份。

setEndMonth

public void setEndMonth(int endMonth)
设定结束播放月份。

Parameters:
endMonth - 结束播放月份。

getEndDay

public int getEndDay()
取得结束播放日。

Returns:
结束播放日。

setEndDay

public void setEndDay(int endDay)
设定结束播放日。

Parameters:
endDay - 结束播放日。

getPlayPeriodSettings

public ArrayList<onbon.bx06.message.file.PlayPeriodSetting> getPlayPeriodSettings()
取得播放时间设定。可增加多个播放的时间起迄。

Returns:
播放时间设定。

addPlayPeriodSetting

public void addPlayPeriodSetting(int startHour,
                                 int startMinute,
                                 int startSecond,
                                 int endHour,
                                 int endMinute,
                                 int endSecond)
增加播放时间区段。

Parameters:
startHour - 起始小时。
startMinute - 起始分钟。
startSecond - 起始秒。
endHour - 结束小时。
endMinute - 结束分钟。
endSecond - 结束秒。

isFrameShow

public boolean isFrameShow()
取得是否显示边框。

Returns:
是否显示边框。

setFrameShow

public void setFrameShow(boolean frameShow)
设定是否显示边框。

Parameters:
frameShow - 是否显示边框。

getFrameStyle

public int getFrameStyle()
取得边框显示效果。
0:闪烁。
1:顺时针转动。
2:逆时钟转动。
3:闪烁并顺时钟转动。
4:闪烁并逆时钟转动。
5:红绿交替闪烁。
6:红绿交替转动。
7:静止打出。

Returns:
边框显示效果。

setFrameStyle

public void setFrameStyle(int frameStyle)
设置边框显示效果。
0:闪烁。
1:顺时针转动。
2:逆时钟转动。
3:闪烁并顺时钟转动。
4:闪烁并逆时钟转动。
5:红绿交替闪烁。
6:红绿交替转动。
7:静止打出。

Parameters:
frameStyle - 边框显示效果。

getFrameSpeed

public int getFrameSpeed()
取得边框显示速度,1 - 48。

Returns:
边框显示速度。

setFrameSpeed

public void setFrameSpeed(int frameSpeed)
设置边框显示速度,1 - 48。

Parameters:
frameSpeed - 边框显示速度。

getFrameMoveStep

public int getFrameMoveStep()
取得边框移动步长,单位 pixel,范围 1 - 16。

Returns:
边框移动步长。

setFrameMoveStep

public void setFrameMoveStep(int frameMoveStep)
设置边框移动步长。单位 pixel,范围 1 - 16。

Parameters:
frameMoveStep - 边框移动步长。

getFrameWidth

public int getFrameWidth()
取得边框寬度。

Returns:
边框寬度。

loadFrameImage

public int loadFrameImage(int styleIndex)
                   throws IOException
载入內建边框特效底图。

Parameters:
styleIndex - 内建效果编号,双基色 1 ~ 18,单基色 1 ~ 14。
Returns:
边框寬。
Throws:
IOException - 读取档案发生错误。

loadFrameImage

public int loadFrameImage(BufferedImage image)
                   throws IOException
载入边框特效底图。

Parameters:
image - 特效底图。
Returns:
边框寬度。
Throws:
IOException - 读取发生错误。

preview

public BufferedImage preview()

getAreas

public BxArea[] getAreas()
取得区域。

Returns:
区域。

addArea

public void addArea(BxArea area)
增加区域。

Parameters:
area - 区域。

getAreaCount

public int getAreaCount()
取得区域总数。

Returns:
区域总数。

validate

public BxArea validate()
驗證區域是否皆在屏幕範圍內。

Returns:
第一個超出範圍的區域資料。若所有區域都符合,回傳 null。

save

public void save(String dir)
          throws Bx6GException
儲存。

Parameters:
dir - 資料夾。
Throws:
Bx6GException - 錯誤。

getFileType

public onbon.bx06.message.common.FileType getFileType()
Description copied from interface: BxFile
取得文件类型。

Specified by:
getFileType in interface BxFile
Returns:
文件类型。

generate

public BxFile.Binary generate()
                       throws Bx6GException
Description copied from interface: BxFile
产生文件的位元组资讯。

Specified by:
generate in interface BxFile
Returns:
位元组资讯。
Throws:
Bx6GException - 产生位元组资讯时发生错误。


Copyright © 2020 onbon. All rights reserved.