<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="init(),rightKey()" backgroundImage="images/mcsh.jpg">
<mx:Style>
TextArea{
border:5 double red;
font-family:华文行楷;
color:red;
font-size:12px;
}
Label{
color:#F8A10B;
}
Alert{
font-size:12px;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.formatters.DateFormatter;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.events.ContextMenuEvent;
//在全局上定义四个菜单条目
private var myMenuItem1:ContextMenuItem;
private var myMenuItem2:ContextMenuItem;
private var myMenuItem3:ContextMenuItem;
private var myMenuItem4:ContextMenuItem;
private var myMenuItem5:ContextMenuItem;
private var myMenuItem6:ContextMenuItem;
private var myMenuItem7:ContextMenuItem;
private var myMenuItem8:ContextMenuItem;
/**
* 开始初始化鼠标右键
*/
private function rightKey():void{
/* ContextMenuItem类的构造函数要传入几个参数,它们分别代表
1 菜单项的名称
2 在该菜单项上是否显示分隔条,默认是不显示
3 是否可用,默认是可用的
4 是否显示,默认是可显示的
*/
myMenuItem1 = new ContextMenuItem('麻城一中',true);
myMenuItem2 = new ContextMenuItem('黄冈中学',true);
myMenuItem3 = new ContextMenuItem('中国移动湖北网上营业厅',true);
myMenuItem4 = new ContextMenuItem('湖北省人民政府',true);
myMenuItem5 = new ContextMenuItem('全国公交查询网',true);
myMenuItem6 = new ContextMenuItem('感动中国官方网站',true);
myMenuItem7 = new ContextMenuItem('搜狐体育',true);
myMenuItem8 = new ContextMenuItem('汽车之家',true);
//添加事件侦听,以此来进行相应的逻辑实现
myMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
myMenuItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
myMenuItem3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
myMenuItem4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
myMenuItem5.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
myMenuItem6.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
myMenuItem7.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
myMenuItem8.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
//创建个性化的菜单
var myMenu:ContextMenu = new ContextMenu();
myMenu.customItems.push(myMenuItem1);
myMenu.customItems.push(myMenuItem2);
myMenu.customItems.push(myMenuItem3);
myMenu.customItems.push(myMenuItem4);
myMenu.customItems.push(myMenuItem5);
myMenu.customItems.push(myMenuItem6);
myMenu.customItems.push(myMenuItem7);
myMenu.customItems.push(myMenuItem8);
//如果要隐藏默认的菜单项,可以这样设置
myMenu.hideBuiltInItems();
//这样是整个舞台都可以显示出相应的右键菜单
this.contextMenu = myMenu;
}
//导航逻辑
private function menuItemHandler(event:ContextMenuEvent):void{
switch (event.target){
case myMenuItem1:
navigateToURL(new URLRequest('http://www.mcyz.com/'));
break;
case myMenuItem2:
navigateToURL(new URLRequest('http://www.hbshgzx.com/'));
break;
case myMenuItem3:
navigateToURL(new URLRequest('http://www.hb.chinamobile.com/'));
break;
case myMenuItem4:
navigateToURL(new URLRequest('http://www.hubei.gov.cn/'));
break;
case myMenuItem5:
navigateToURL(new URLRequest('http://www.8684.com/'));
break;
case myMenuItem6:
navigateToURL(new URLRequest('http://www.lovegdzg.com/index.asp'));
break;
case myMenuItem7:
navigateToURL(new URLRequest('http://sports.sohu.com/'));
break;
case myMenuItem8:
navigateToURL(new URLRequest('http://www.autohome.com.cn/'));
break;
}
}
/**
* 日期和时间函数
*/
private function resetNow(event:TimerEvent):void {
// 获取登录时间和日期
var dateFormatter:DateFormatter = new DateFormatter();
dateFormatter.formatString = "YYYY年MM月DD日 JJ:NN:SS";
var time:String = new Date().toLocaleTimeString();
var date:String = dateFormatter.format(new Date());
this.date.text = date;
//this.clock.text = time;
}
private function getDate():void{
//设定时间
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, this.resetNow);
timer.start();
}
/*根据城市查询天气 */
private function query():void{
if(txtCity.text==""){
Alert.show("对不起,请您输入城市名称","友情提示");
return;
}
wsWeather.getWeatherbyCityName(txtCity.text);
}
/* 初始化查询北京三天天气 */
private function init():void{
wsWeather.getWeatherbyCityName("武汉");
}
/* 显示今天-明天-后天三天天气 */
private function resultHandle(evt:ResultEvent):void{
var arr:ArrayCollection=ArrayCollection(evt.result);
this.lblCity.text=arr[0]+"-"+arr[1];
//今天天气
this.lblDate.text=arr[6];//日期
this.lblwd.text="温度:"+arr[5];//温度
this.lblfl.text=arr[7]; //风力
this.imgToday.source="images/weather/a_"+arr[8];//图片
this.imgToday2.source="images/weather/a_"+arr[9];//图片2
this.taDetail.text=" "+arr[10];
//明天天气
this.lblDate1.text=arr[13];
this.lblwd1.text=arr[12];
this.lblfl1.text=arr[14];
this.imgTomorrow.source="images/weather/a_"+arr[15];
this.imgTomorrow2.source="images/weather/a_"+arr[16];
this.taDetail1.text=arr[11];
//后天天气
this.lblDate2.text=arr[18];
this.lblwd2.text=arr[17];
this.lblfl2.text=arr[19];
this.imgAfterTomorrow.source="images/weather/a_"+arr[20];
this.imgAfterTomorrow2.source="images/weather/a_"+arr[21];
this.taDetail2.text=" "+arr[22];
}
private function faultHandle(evt:FaultEvent):void{
Alert.show("很抱歉,请您检查网络连接...");
}
]]>
</mx:Script>
<mx:Iris id="iris" target="{weatherPanel}"></mx:Iris>
<mx:Panel id="weatherPanel" width="620" height="632" layout="absolute" creationCompleteEffect="iris" title="凌晨雨薇--全国城市天气预报" fontSize="12" titleIcon="@Embed('images/weather/0.gif')">
<mx:HRule x="10" y="65" width="580"/>
<mx:Label x="76" y="42" text="今 天" width="38" fontWeight="bold" color="#030303"/>
<mx:Label x="487" y="42" text="后 天" width="42" fontWeight="bold" color="#030303"/>
<mx:Label x="280.25" y="42" text="明 天" width="43.5" fontWeight="bold" color="#030303"/>
<mx:Canvas x="10" y="72" width="168" height="196" borderStyle="solid" borderColor="#111AC6">
<mx:Label x="10" y="10" width="146" id="lblDate"/>
<mx:Label x="10" y="38" width="146" height="24" id="lblwd"/>
<mx:Label x="10" y="70" id="lblfl" width="146" height="29"/>
<mx:Image x="8" y="120" width="70" height="65" id="imgToday"/>
<mx:Image x="86" y="120" width="70" height="65" id="imgToday2"/>
</mx:Canvas>
<mx:Canvas x="216" y="72" width="168" height="196" borderStyle="solid" borderColor="#111AC6">
<mx:Label x="10" y="10" width="146" id="lblDate1"/>
<mx:Label x="10" y="38" width="146" height="24" id="lblwd1"/>
<mx:Label x="10" y="70" id="lblfl1" width="146" height="29"/>
<mx:Image x="8" y="120" width="70" height="65" id="imgTomorrow"/>
<mx:Image x="86" y="120" width="70" height="65" id="imgTomorrow2"/>
</mx:Canvas>
<mx:Canvas x="422" y="72" width="168" height="196" borderStyle="solid" borderColor="#111AC6">
<mx:Label x="11" y="10" width="146" id="lblDate2"/>
<mx:Label x="10" y="38" width="146" height="24" id="lblwd2"/>
<mx:Label x="10" y="70" id="lblfl2" width="146" height="29"/>
<mx:Image x="8" y="119" width="70" height="65" id="imgAfterTomorrow"/>
<mx:Image x="86" y="119" width="70" height="65" id="imgAfterTomorrow2"/>
</mx:Canvas>
<mx:TextInput x="88" y="10" id="txtCity" text="武汉" width="119"/>
<mx:Button x="215" y="10" label="查 询" id="btnQuery" click="query()" borderColor="#0099ff"/>
<mx:Label x="10" y="12" text="请输入城市:" width="88"/>
<mx:Label x="280.25" y="11" width="146" height="24" fontWeight="bold" color="#FD060C" id="lblCity"/>
<mx:TextArea x="10" y="290" width="580" height="54" id="taDetail" editable="false"/>
<mx:TextArea x="10" y="366" width="580" height="85" id="taDetail1" editable="false"/>
<mx:TextArea x="10" y="474" width="580" height="106" id="taDetail2" editable="false"/>
<mx:Label x="10" y="347" text="指数信息栏" color="#0099ff"/>
<mx:Label x="10" y="454" id="lblCityInfo" text="{txtCity.text}市简介" color="#0099ff"/>
<mx:Label x="10" y="271" text="详细天气情况" color="#0099ff"/>
<!--当前时间-->
<!--<mx:Text id="clock" text="" creationComplete="this.getDate()" right="1" height="20" width="91" top="11"/>-->
<mx:Text id="date" text="" creationComplete="this.getDate()" right="10" height="20" width="167" top="11"/>
</mx:Panel>
<mx:WebService id="wsWeather" wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" showBusyCursor="true" result="resultHandle(event)" fault="faultHandle(event)"/>
</mx:Application>
分享到:
相关推荐
在本项目“Flex调用Webservice实现天气预报”中,我们将探讨如何使用Flex作为客户端,通过调用Webservice接口来获取并显示实时的天气信息。这涉及到以下几个关键技术点: 1. **Flex中的HTTPService组件**:Flex提供...
本文将深入探讨Spring如何整合Flex以及如何通过WebServices实现数据通信。 首先,让我们了解Spring与Flex整合的基础。Spring框架提供了多种方式来与Flex客户端进行交互,最常用的是通过HTTP服务和AMF(Action ...
在本项目中,“Flex实现天气预报服务”指的是利用Flex的技术来创建一个应用,该应用能够通过调用外部的Web服务接口获取并显示天气预报信息。 Flex中的WebService组件是用于与SOAP(Simple Object Access Protocol)...
在本主题中,我们将深入探讨如何使用Flex调用Web服务,尤其是与Java程序的交互。 1. **Flex与Web服务的交互** Flex可以通过SOAP(简单对象访问协议)或AMF(动作消息格式)来调用Web服务。SOAP是一种基于XML的通信...
标题中的“在线拍照 c# flex+fluorineFx+webservices”揭示了这是一个基于C#技术,使用Flex前端和FluorineFx作为SOAP Web服务客户端库的在线拍照系统。让我们详细了解一下这些关键技术点。 **C#(Sharp)**: C#是...
3. **WebService通信**:在Flex应用中,可以使用HTTPService或WebServices组件与远程服务器进行数据交换。在本例中,应用可能通过调用WebService接口来获取实时的天气数据。WebService通常基于SOAP或RESTful协议,能...
Flex调用WebService例子是一个典型的跨平台通信场景,它结合了Adobe Flex前端开发框架与XFire作为后台的Web服务实现。Flex是一种基于ActionScript和MXML的开放源代码框架,用于构建富互联网应用程序(RIA),而...
Flex通过使用HTTPService或WebServices类来调用基于SOAP或RESTful协议的WebService。这两种方法都能实现Flex客户端与服务器端的数据交换,但SOAP通常用于复杂的、结构化的数据交换,而RESTful则更适合简单的数据获取...
Flex调用天地图路径规划接口是一项技术实现,它允许用户在Flex应用程序中通过与天地图服务交互,获取并展示两地之间的公交路线规划。天地图是中国的一款权威地理信息系统,提供了丰富的地图服务,包括基础地图、卫星...
总的来说,通过Flex调用GP服务实现插值服务,开发者可以利用GIS的强大功能,为Web应用提供复杂的地理数据分析,增强用户体验。这涉及到Flex编程、GIS理论以及ArcGIS Server的使用,是GIS开发中的一个关键技能。
当我们需要与服务器进行数据交互,特别是调用Web服务时,ActionScript提供了强大的支持。本篇文章将详细探讨Flex ActionScript如何调用并处理Web服务的过程和方法。 1. **创建Web服务客户端** 在Flex中,我们可以...
- 一个常见的Flex与Web服务交互示例是在线购物应用,Flex客户端展示商品列表,用户选择商品后,通过Web服务调用实现添加到购物车、结算等功能。 总结,Flex与Web服务的通讯及交互是构建动态Web应用的关键技术,...
配置Web服务的元数据后,可以直接在Flex应用中调用Web服务的方法。 总结起来,Flex与Web服务的交互提供了多种方式,包括基础的HTTP(REST)、高效的AMF以及传统的SOAP。开发者可以根据项目需求选择合适的方式来实现...
在本压缩包"Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互"中,我们可以深入探讨Flex的基础知识、Web与Flex的集成、LCDS的使用以及Flex如何与Java进行数据交互。 1. **Flex基础**:Flex提供了一整套组件库,包括...
标题中的“eclipse flex集成web项目”指的是使用Eclipse IDE来开发基于Adobe Flex技术的Web应用程序,并将其与后端服务进行集成的过程。Flex是一种用于构建富互联网应用(RIA)的开源框架,它允许开发者创建交互性强...
5. **Services**: 通过调用Web服务,可以访问和使用地理数据,例如调用天地图服务。 在调用天地图源码中,关键步骤可能包括: 1. **配置服务URL**: 首先需要获取天地图的WMS或WMTS服务URL,这是调用天地图的基础。...
1. **SOAP WebService**:通过WSDL(Web Services Description Language)文件定义服务接口,SOAP消息通常包含在HTTP请求中,数据库操作(如查询、插入、更新、删除)通过在服务端执行的函数实现。 2. **RESTful ...
AMF通过 BlazeDS 或 LCDS(LiveCycle Data Services)等中间件来实现,这些中间件为Flex提供了与Java应用服务器的连接。 - ** BlazeDS**:BlazeDS是Adobe提供的一个免费服务器端项目,它允许Flex应用与Java后端...