<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Canvas id="paper" x="30" y="24" width="719" height="600">
<mx:Canvas id="Total" x="10" y="254" width="108" height="78" borderStyle="inset">
<mx:Button x="0" y="43" label="关键词导出" width="103" height="28"/>
<mx:Text x="0" y="0" width="103" height="45" text="List PV:10000" fontSize="12"/>
</mx:Canvas>
<mx:Canvas id="LEV1_1" x="187" y="95" width="108" height="70" borderStyle="inset">
<mx:Button x="0" y="38" label="关键词导出" width="103" height="26"/>
<mx:Text x="0" y="0" width="103" height="39" text="List PV:10000" fontSize="12"/>
</mx:Canvas>
<mx:Canvas id="LEV1_2" x="187" y="315" width="108" height="77" borderStyle="inset">
<mx:Button x="0" y="45" label="关键词导出" width="103" height="26"/>
<mx:Text x="0" y="0" width="103" height="46" text="List PV:10000" fontSize="12"/>
</mx:Canvas>
<mx:Canvas id="LEV1_3" x="187" y="504" width="108" height="75" borderStyle="inset">
<mx:Button x="0" y="41" label="关键词导出" width="103" height="28"/>
<mx:Text x="0" y="0" width="103" height="42" text="List PV:10000" fontSize="12"/>
</mx:Canvas>
<mx:Canvas id="LEV1_1_1" x="374" y="10" width="108" height="70" borderStyle="inset">
<mx:Button x="0" y="38" label="关键词导出" width="103" height="26"/>
<mx:Text x="0" y="0" width="103" height="39" text="List PV:10000" fontSize="12"/>
</mx:Canvas>
<mx:Canvas id="LEV1_1_2" x="374" y="88" width="108" height="77" borderStyle="inset">
<mx:Button x="0" y="45" label="关键词导出" width="103" height="26"/>
<mx:Text x="0" y="0" width="103" height="46" text="List PV:10000" fontSize="12"/>
</mx:Canvas>
<mx:Canvas id="LEV1_1_3" x="374" y="173" width="108" height="75" borderStyle="inset">
<mx:Button x="0" y="41" label="关键词导出" width="103" height="28" click="export(LEV1_1_3_text.text)"/>
<mx:Text id="LEV1_1_3_text" x="0" y="0" width="103" height="42" text="List PV:10000" fontSize="12"/>
</mx:Canvas>
</mx:Canvas>
<mx:Script>
<![CDATA[
import mx.controls.Button;
import mx.containers.Canvas;
private function initApp():void{
paper.graphics.clear();
doDraw(Total, LEV1_1);
doDraw(Total, LEV1_2);
doDraw(Total, LEV1_3);
doDraw(LEV1_1, LEV1_1_1);
doDraw(LEV1_1, LEV1_1_2);
doDraw(LEV1_1, LEV1_1_3);
createAll();
}
private function createAll():void{
var canvas:Canvas = new Canvas();
canvas.x = 374;
canvas.y = 250;
canvas.setActualSize(108, 75);
canvas.setStyle("borderStyle", "inset");
var button:Button = new Button();
button.x = 0;
button.y = 41;
button.setActualSize(103,28);
var text:Text = new Text();
text.x = 0;
text.y = 0;
text.setActualSize(103,42);
button.label = "关键词导出";
text.text = "List PV:10000";
canvas.addChild(button);
canvas.addChild(text);
paper.addChild(canvas);
}
private function export(text:String):void{
ExternalInterface.call("exportQueryXLS", text);
}
private function doDraw(source:Sprite,target:Sprite):void
{
var radius:Number = 10;
var sourceCenter:Point = new Point(source.x + source.width,source.y + source.height/2);
var targetCenter:Point = new Point(target.x ,target.y + target.height/2);
var sin:Number = (sourceCenter.y - targetCenter.y)/(Math.sqrt(Math.pow(sourceCenter.x - targetCenter.x,2)+Math.pow(sourceCenter.y - targetCenter.y,2)));
var radian:Number = Math.asin(sin);
var degree:Number = radian*180/Math.PI;
if(source.x < target.x)
{
if(degree == 0 )
{
degree = 180;
}
if(degree > 0)
{
degree = 180 - degree;
}
if(degree < 0)
{
degree = 180 + degree * -1;
}
}
degree += 90;
radian = degree*Math.PI / 180;
// var offsetX:Number = radius * Math.cos(radian);
// var offsetY:Number = radius * Math.sin(radian);
var offsetX:Number = 0;
var offsetY:Number = 0;
var sourcePointA:Point = new Point(sourceCenter.x + offsetX, sourceCenter.y + offsetY);
var sourcePointB:Point = new Point(sourceCenter.x - offsetX, sourceCenter.y - offsetY);
var targetPointA:Point = new Point(targetCenter.x + offsetX, targetCenter.y + offsetY);
var targetPointB:Point = new Point(targetCenter.x - offsetX, targetCenter.y - offsetY);
// paper.graphics.clear();
paper.graphics.lineStyle(1,0x333300,100);
paper.graphics.moveTo(sourcePointA.x,sourcePointA.y);
paper.graphics.lineTo(targetPointA.x,targetPointA.y);
// paper.graphics.moveTo(sourcePointB.x,sourcePointB.y);
// paper.graphics.lineTo(targetPointB.x,targetPointB.y);
}
]]>
</mx:Script>
</mx:Application>
分享到:
相关推荐
这个示例代码展示了如何在Flex应用中实现用户通过鼠标绘制直线、清除直线以及多点折线的功能。以下是详细的知识点解析: 1. **Flex架构**:这个应用基于Adobe Flex框架,使用Spark组件库,如`s:Application`、`s:...
根据提供的文件信息,我们可以分析出该文件主要涉及的是使用Adobe Flex技术实现的一种画线动画效果。下面将对该示例中的关键技术点进行详细解读。 ### 一、Adobe Flex简介 Adobe Flex是一个免费开源的软件框架,...
本示例“Flex画线(直线,折线)完美实现”专注于提供一种高效、灵活的方法来绘制动态直线和折线,并允许用户进行实时编辑。通过这个项目,开发者可以学习如何在Flex应用中实现这一功能,提升用户体验。 首先,Flex是...
此外,从"成功画一个点.txt"这个文件名来看,可能文件中包含了一个示例代码或者进一步的解释。如果你能访问这个文件,可以结合文件内容加深对这个知识点的理解,例如查看如何在不同场景下使用这个技巧,或者学习如何...
SDK(Software Development Kit)是软件开发工具包,通常包含API文档、库文件、示例代码以及编译器或解释器等,帮助开发者更好地理解和使用Flex框架进行开发。这里的“old”表示这是一个较旧的版本,可能适用于学习...
《ArcGIS for Flex在地图绘制中的应用:直线、曲线与军标》 ArcGIS for Flex是Esri公司推出的一款基于Adobe Flex技术的地图开发框架,它为开发者提供了在Web环境中构建地理信息系统(GIS)应用程序的强大工具。这个...
在本案例中,"flex时序图显示示例" 提到的是使用Flex这一开发框架来创建和展示时序图的实践。 Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。它允许开发者使用面向对象的语言...
在Flex中,可以利用其内置的图形API来绘制各种形状,例如直线、曲线等。本文重点介绍如何使用Flex中的图形API来实现画线功能,并结合实际代码进行分析。 ### 创建画线对象 在Flex中,可以通过`Sprite`类来创建一个...
标题“直线和折线flex实现经典源码”暗示了这个压缩包可能包含了一些关于如何使用Flex布局来创建直线和折线效果的示例代码。 Flex布局,全称为Flexible Box布局,是CSS3中的一种布局模式,旨在解决传统块级布局...
在Flex中实现画线,我们可以利用Flex提供的Graphics API。Graphics API允许开发者在舞台上绘制基本形状,如线条、曲线和矩形。我们首先创建一个自定义的UIComponent子类,这个子类将会是我们的画线组件。在AS中,...
3. **示例应用**:例如,若要创建一个垂直堆叠的布局,可将`flex-direction`设置为`column`,然后使用`justify-content`和`align-items`调整项目在主轴和侧轴上的位置。 4. **浏览器兼容性**:尽管Flexbox在现代...
1. **图形绘制**:使用Flex提供的Graphics类,可以绘制直线、曲线、圆弧等基本图形,构建温度计的刻度和指针。例如,通过`drawRect()`和`drawLine()`方法绘制刻度线,用`drawCircle()`和`lineTo()`绘制指针。 2. **...
- **线性贝塞尔曲线**:只有两个端点的贝塞尔曲线,形状为直线。 - **二次贝塞尔曲线**:包含一个控制点的贝塞尔曲线,通常用于平滑过渡。 - **三次贝塞尔曲线**:包含两个控制点的贝塞尔曲线,Flash Flex中最...
2. **主轴(Main Axis)**:Flex布局中,主轴是从容器的起始边界到结束边界的直线。默认情况下,对于横轴布局(如`row`),主轴是水平的;对于纵轴布局(如`column`),主轴是垂直的。 3. **侧轴(Cross Axis)**:...
5. **flex-wrap**:默认情况下,项目会在一条直线上排列,即使空间不足也不会换行。通过设置`flex-wrap`为`wrap`或`wrap-reverse`,可以允许项目换行,以适应不同的屏幕尺寸。 6. **flex-grow**、**flex-shrink** ...
本示例“Flex地图几何图形操作和距离面积计算”聚焦于如何使用Flex与ArcGIS API进行这些操作。让我们深入探讨其中涉及的技术和概念。 首先,`Flex`是一种基于ActionScript 3的开放源代码编程框架,用于构建富互联网...
"measure"目录下的代码展示了如何实现这一功能,包括直线距离测量、曲线距离测量、多边形面积测量等。这可以帮助用户在地图上直观地了解地理空间的大小和形状。 【联动(map_link_page)】 地图联动是指多个地图...
例如,上级节点与下级节点之间通过直线相连,不同级别的节点可能通过折线或曲线连接,甚至可以配置不同的线条样式来区分不同类型的关联。 实现线连接效果通常涉及以下几个关键点: 1. **自定义渲染器**:为了添加...
在实际应用中,`Topo_Demo`可能是包含示例代码或预览的项目文件,用于演示上述功能如何在Flex环境中实现。开发人员可以参考这个示例来理解和构建自己的网络拓扑应用。通过深入理解并熟练运用这些技术,可以创建出...