### flash 中通过 XMLSocket 监控生产系统(3-2)

4) 选中 UI 层，在工具箱选中文本工具，并在属性检查器中设置属性 Show Border Around Text 为真、文本类型为 Dynamic Text（动态文本）、文本为 Multiline（多行），在 Stage （舞台）上半部分画一个大的文本区域，把其实例名设为 txt。如图三，现在注意到，txt 文本域具有了边框和白色背景，我个人不太喜欢白色，能不能改变文本域的背景色呢？
当然能，可以这么说，在 Flash MX 中，能够看到的都有方法来改变，我们就把 txt 文本域的背景变成 #BBBBCC 颜色吧，请在程序的 [Flash 创作时对象的初始化]部分加入下面语句：
txt.backgroundColor = "0xbbbbcc";
通过 Control -> Test Movie 菜单（或 Ctrl + Enter 快捷键）预览，您会看到 txt 文本域的背景已经变成所期望的颜色。
5) 通过 Window -> Componets 菜单，打开 Componets（组件）面板，选择 ScrollBar 组件拖到舞台上的 txt 文本域上，当释放鼠标时，两者会自动结合，如图五。到属性检查器中，ScrollBar 组件的 Target TextField 属性为 txt ，同时给 ScrollBar 组件起一个唯一的实例名，如 scrollbar ，由于当信息显示满一屏时，需要通过滚动条查看以往的信息，所以需要在程序一开始对 scrollbar 进行设置以激活它，在程序的 [Flash 创作时对象的初始化]部分加入下面语句：
scrollbar.setScrollProperties(10, 10, 20);
6) 从工具箱中选择文本工具，在属性检查器中设置属性 Show Border Around Text 为真、文本类型为 Input Text（输入框文本）、文本为 Single Line（单行），在 Stage（舞台）上 txt 文本区域的下面靠左画两个文本域，把其实例名分别设为 txtHost 和 txtPort，如图三：
另外，在属性检查器中，设置 txtPort 的 Maximum Characters（最大长度）为 5（因为端口数最大为 65535），设置 txtPort 只能输入数字，我们可以在属性检查器中的 Character 按钮设置限制，我们这里用 ActionScript 在运行时设置(也可以在属性检查器中设置)，在程序的 [Flash 创作时对象的初始化]部分加入下面语句：
txtPort.restrict = "0-9";
txtPort.onChanged = txtPort_onChanged;
并且设置 txtHost 的内容为 ”Default Host”， txtPort 的内容为 ”6666”。同时， 由于用户在 txtPort 中键入错误的端口数时，txtPort 的背景将变成红色（详见前面输入框 文本（Input Text）的介绍），当用户再次键入时，背景颜色将变回原来的白色，这 txtPort 的 onChanged 事件中得以实现。 7) 从 Componets（组件）面板上，选择两个 PushButton 组件拖到舞台上的 txt 文本域的下部靠右的位置，水平与前面两个输入框文本对起。
第一个 PushButton 按钮的实例名设为 btnConnect ，Label（标签）设为 Connect， Click Handler（单击事件处理函数）设为 btnConnect_onClick 。第一个 PushButton 按钮 的实例名设为 btnClear ，Label（标签）设为 Clear，单击事件处理函数设为 btnClear_onClick ，如图四：
通过完成以上的步骤，我们已经建立了 Flash 客户端的用户界面。现在我们来在程序的第二部分[Flash 运行时对象的初始化]中，创建并初始化相应的对象：
myTextFormat = new TextFormat();
socket = new XMLSocket();
socket.onConnect = myOnConnect;
socket.onXML = myOnXML;
socket.onClose = myOnClose;
以上语句中，第一条语句生成一个 TextFormat（文本样式对象）实例 myTextFormat，以达到以不同颜色显示不同类型数据的目的（详见前面动态文本（Dynamic Text）的介绍 ）。接着生成一个 XMLSocket 对象实例 socket，并分别设置其 onConnect、onXML、onClose 事件的处理函数。
以下我们最后只剩下编写各种对象的事件处理函数了，由于在本文的第二部分里，就有关的技术已经做了相当详细的介绍，并且您可以同时参照本文附带的程序源码，为了节省篇幅，这部分将不再做进一步的介绍了，如果您在实际使用中，有问题您可以给我发 E_mail: yz2yz@etang.com。
现在程序已经完成了，在您的 Web 服务器上启动服务端模拟程序，然后通过浏览器连接到相应包含 Flash 客户端的页面，单击 Connect 按钮，如果没有其他的意外，您就会看到客户端正常地运行了。如果为了测试的方便，您可以在本地机启动服务端模拟程序，然后通过单独的 Flash Player 6 来打开，在 txtHost 中键入“127.0.0.1”，这样您就省了架设 Web 服务器的麻烦。祝您顺利