#Region Project Attributes
#MainFormWidth: 800
#MainFormHeight: 600
#End Region
#AdditionalJar: FlipClock
Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private xui As XUI
Dim WEEK_DAYS(7) As String
Dim MONTHS(12) As String
Dim dayLeft, dayMid, dayRight, dateLeft, dateRight, monthLeft, monthMid, monthRight, hourLeft, hourRight, minLeft, minRight, secLeft, secRight As JavaObject
Dim dayLeftB, dayMidB, dayRightB, dateLeftB, dateRightB, monthLeftB, monthMidB, monthRightB, hourLeftB, hourRightB, minLeftB, minRightB, secLeftB, secRightB As JavaObject
Dim fliptime As Double
Dim t As Timer
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("Layout1")
MainForm.Show
t.Initialize("t", 500)
fliptime = 300
WEEK_DAYS = Array As String("SUN","MON","TUE","WED","THU","FRI","SAT")
MONTHS = Array As String("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC")
dayLeft.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
dayLeftB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
dayLeft = dayLeftB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(dayLeft.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)) _
.RunMethodJO("withFixture", Array(True)) _
.RunMethodJO("wordMode", Array(True)) _
.RunMethodJO("darkFixture", Array(False)) _
.runMethodJO("squareFlaps", Array(True)) _
.RunMethodJO("flapColor", Array(fx.Colors.Green)) _
.RunMethodJO("keepAspect", Array(True)) _
.RunMethod("build", Null)
dayMid.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
dayMidB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
dayMid = dayMidB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(dayMid.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
dayRight.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
dayRightB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
dayRight = dayRightB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(dayRight.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
dateLeft.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
dateLeftB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
dateLeft = dateLeftB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(dateLeft.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
dateRight.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
dateRightB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
dateRight = dateRightB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(dateRight.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
monthLeft.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
monthLeftB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
monthLeft = dateLeftB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(monthLeft.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
monthMid.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
monthMidB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
monthMid = monthMidB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(monthMid.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
monthRight.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
monthRightB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
monthRight = monthRightB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(monthRight.GetField("ALPHANUMERIC"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
hourLeft.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
hourLeftB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
hourLeft = hourLeftB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(hourLeft.GetField("TIME_0_TO_5"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
hourRight.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
hourRightB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
hourRight = hourRightB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(hourRight.GetField("TIME_0_TO_9"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
minLeft.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
minLeftB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
minLeft = minLeftB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(minLeft.GetField("TIME_0_TO_5"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
minRight.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
minRightB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
minRight = minRightB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(minRight.GetField("TIME_0_TO_9"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
secLeft.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
secLeftB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
secLeft = secLeftB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(secLeft.GetField("TIME_0_TO_5"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
secRight.InitializeNewInstance("eu.hansolo.enzo.splitflap.SplitFlap", Null)
secRightB.InitializeStatic("eu.hansolo.enzo.splitflap.SplitFlapBuilder")
secRight = secRightB.RunMethodJO("create", Null).RunMethodJO("flipTime", Array(fliptime)).RunMethodJO("selection", Array(secRight.GetField("TIME_0_TO_9"))).RunMethodJO("textColor", Array(fx.Colors.Black)).RunMethod("build", Null)
MainForm.RootPane.AddNode(dayLeft,2dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(dayMid,53dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(dayRight,104dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(dateLeft,165dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(dateRight,216dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(monthLeft,287dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(monthMid,338dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(monthRight,389dip, 2dip, 50dip, 50dip)
MainForm.RootPane.AddNode(hourLeft, 2dip, 60dip, 50dip, 50dip)
MainForm.RootPane.AddNode(hourRight, 53dip, 60dip, 50dip, 50dip)
MainForm.RootPane.AddNode(minLeft, 104dip, 60dip, 50dip, 50dip)
MainForm.RootPane.AddNode(minRight, 155dip, 60dip, 50dip, 50dip)
MainForm.RootPane.AddNode(secLeft, 206dip, 60dip, 50dip, 50dip)
MainForm.RootPane.AddNode(secRight, 257dip, 60dip, 50dip, 50dip)
setDateTime
Sleep(0)
t.Enabled = True
End Sub
Sub t_tick
setDateTime
End Sub
Sub setDateTime
dayLeft.RunMethod("setTextColor",Array(fx.Colors.Cyan))
dayMid.RunMethod("setTextColor",Array(fx.Colors.Cyan))
dayRight.RunMethod("setTextColor", Array (fx.Colors.Cyan))
dateLeft.RunMethod("setTextColor",Array(fx.Colors.Blue))
dateRight.RunMethod("setTextColor",Array(fx.Colors.Blue))
Dim mnth As Int = DateTime.GetMonth(DateTime.Now)
Dim month As String = (MONTHS(mnth-1))
monthLeft.RunMethod("setText", Array(month.SubString2(0,1)))
monthMid.RunMethod("setText", Array(month.SubString2(1,2)))
monthRight.RunMethod("setText", Array(month.SubString(2)))
monthLeft.RunMethod("setTextColor", Array(fx.Colors.Red))
monthMid.RunMethod("setTextColor", Array(fx.Colors.Red))
monthRight.RunMethod("setTextColor", Array(fx.Colors.Red))
hourLeft.RunMethod("setTextColor", Array(fx.Colors.Yellow))
hourRight.RunMethod("setTextColor", Array(fx.Colors.Yellow))
minLeft.RunMethod("setTextColor", Array(fx.Colors.Green))
minRight.RunMethod("setTextColor", Array(fx.Colors.Green))
secLeft.RunMethod("setTextColor", Array(fx.Colors.Magenta))
secRight.RunMethod("setTextColor", Array(fx.Colors.Magenta))
Dim hr As String = DateTime.GetHour(DateTime.Now)
If hr.Length < 2 Then hr = "0" & hr
Dim minute As String = DateTime.GetMinute(DateTime.Now)
If minute.Length < 2 Then minute = "0" & minute
Dim second As String = DateTime.GetSecond(DateTime.Now)
If second.Length < 2 Then second = "0" & second
hourLeft.RunMethod("setText", Array(hr.SubString2(0,1)))
hourRight.RunMethod("setText", Array(hr.SubString(1)))
minLeft.RunMethod("setText", Array(minute.SubString2(0,1)))
minRight.RunMethod("setText", Array(minute.SubString(1)))
secLeft.RunMethod("setText", Array(second.SubString2(0,1)))
secRight.RunMethod("setText", Array(second.SubString(1)))
Dim weekday As Int = DateTime.GetDayOfWeek(DateTime.Now)
dayLeft.RunMethod("setText", Array(WEEK_DAYS(weekday - 1).SubString2(0,1)))
dayMid.RunMethod("setText", Array(WEEK_DAYS(weekday - 1).SubString2(1,2)))
dayRight.RunMethod("setText", Array(WEEK_DAYS(weekday - 1).SubString(2)))
Dim monthday As String = DateTime.GetDayOfMonth(DateTime.Now)
If monthday.Length < 2 Then monthday = "0" & monthday
dateLeft.RunMethod("setText", Array(monthday.SubString2(0,1)))
dateRight.RunMethod("setText", Array(monthday.SubString(1)))
Log(hr & " " & minute & " " & second)
End Sub