ǰÑÔ
C/C++µÄ¿ª·¢£¬ÄÚ´æµÄ¹ÜÀíÊÇÊ®·ÖÖØÒªµÄ¿ÎÌ⣬·ÖÅäÄÚ´æÊ¹ÓúóÒª¼°Ê±ÊÍ·Å£¬·ñÔòÄÚ´æÐ¹Â©µ¼ÖÂÄÚ´æºÄ¾¡¡£½øÈëÍйܻ·¾³ºó£¬ÄÚ´æÄܹ»×Ô¶¯¹ÜÀíºÍ»ØÊÕ£¬ÒѾ²»Óÿª·¢ÕßÌ«²ÙÐÄÄÚ´æ¹ÜÀí·½ÃæµÄÎÊÌâÁË£¬ÔÚÍйܻ·¾³£¬¿ª·¢ÕßÈÔÈ»¿ÉÒÔ×öһЩ¹¤×÷£¬ÌṩÄÚ´æ»ØÊÕµÄЧÂÊ£¬ÀýÈ磬°ÑÀàÄÚ²¿µÄÒýÓöÔÏóÉèÖÃΪnullÊÇ×î»ù±¾µÄ¡£½è¼øÔÚ.net»·¾³ÏµÄIDisposeģʽ£¬ÏÖÔÚ£¬ÔÚFlex/AS3ÀïʵÏÖ¡£
IDispose½Ó¿Ú
Ê×Ïȶ¨Òå¿ØÖÆ×ÊÔ´ÊͷŵĽӿڡ£
package cwn.core
{
/*
* ÊÍ·Å×ÊÔ´½Ó¿Ú
*/
public interface IDispose
{
function Dispose():void;
}
}
ʵÏÖIDispose½Ó¿Ú
public class ClassA implements cwn.core.IDispose
{
private var _RefObject:Object;//ÒýÓø߼¶¶ÔÏó
public function ClassA()
{
}
private var _Disposed: ......
ǰÑÔ
Undo£¬RedoÊDZ༻·¾³Àï³£¼ûµÄ²¢Çҷdz£ÖØÒªµÄ¹¦ÄÜ£¬ÏÂÃæ½éÉÜ¡¾ÃüÁîģʽ¡¿ÔÚFlex/AS3ϵÄʵÏÖ¡£
ICommand½Ó¿Ú
¶¨ÒåICommand½Ó¿Ú£¬ÆäÖÐExecuteºÍUnExecuteÊÇÏà·´µÄ2¸ö²Ù×÷£¬TitleÊôÐÔÓÃÓÚÃüÁîÏÔʾ£¬ÀýÈçÏÔʾÔÚ²Ù×÷ÀúÊ·ÁбíÀï¡£
package cwn.wb.ui.core.command
{
import cwn.core.IDispose;
public
interface ICommand extends IDispose
{
function
get Title():String
function Execute():void
function UnExecute():void
}
}
CommandBase»ùÀà
CommandBaseÀàÖ÷ҪʵÏÖICommand½Ó¿Ú£¬ËùÓÐCommandÀà¶¼½«¼Ì³ÐCommandBaseÀà¡£
package cwn.wb.ui.core.command
{
import cwn.core.IDispose;
public
class CommandBase implements ICommand
{
......
Èç¹ûÄãÊǵçÐÅÐÐÒµµÄ³ÌÐòÔ±£¬´óÃû¶¦¶¦µÄÍØÆËͼ¹¤¾ßTWaverÄãÒ»¶¨¶úÊìÄÜÏꣻµ«ÊÇÈç¹ûÒ»Ìáµ½TWaverÄã¾ÍÏëµ½Ò»¸öSwing×é¼þ°ü£¬ÄÇÄãºÁÎÞÒÉÎÊÒѾoutÁË¡£¾¹ýÊ®¼¸ÄêµÄ·¢Õ¹£¬TWaver¿´ÉÏÈ¥ÒѾ²»ÔÙÊÇÒ»¸ö¼òµ¥µÄSwingÍØÆË×é¼þ£¬ÕâЩÄêTWaverÂ½ÐøÍÆ³öÁËAJAX+SVGµÄWeb°æ¡¢GIS°æ£¬ÏÖÔÚÓÖ³öÁËFlex°æ¡£Ê²Ã´£¿Flex°æTWaver£¿Ð¡Íæ¾ß°É£¿ÄÜ×öÆóÒµÉõÖÁµçÐÅÓ¦ÓÃô£¿¿´¿´TWaver FlexÕâ¸öÁîÈËÕ𺳵ÄÔÚÏßdemo£¬ÏàÐÅÄã»áÓÐ×Ô¼ºµÄ´ð°¸¡£·´ÕýÎÒ¼áÐÅFlex¼¼Êõ±Ø½«ÔÚµçÐÅÐÐÒµÓ¦ÓÃÖдóչȽŗ—ÖÁÉÙËü¾ø²»ÔÙ½ö½öÊÇÒ»¸ö»¨Æ¿ºÍÍæ¾ß¡£
´ÖÂÔ¹Û²ìÁËÒ»ÏÂTWaverÔÚÏßdemo£¨http://servasoftware.com/demo/twaver_flex/twaver-flex-online-demo.html£©£¬²»ÉÙ¹¦ÄÜÁîÈ˶úĿһС£¾Í˵ÏÂͼÕâ¸ö¾µäµÄTWaver PSTNÀý×Ó£¬Ï¸½ÚÉϾͱÈSwing°æÏ¸ÄåºÜ¶à¡£Õû¸öTWaver FlexºÜ¶àµØ·½ÉõÖÁÒѾÌåÏÖ³ö±ÈTWaver JavaµÄSwing°æ±¾¸üÇ¿µÄ·½Ãæ¡£
´ËÍ⣬»¹¹Û²ìµ½ÁËTWaver FlexÖиü¶àÓÐȤµÄÌØÐÔ¡£
ȫи澯äÖȾ·½Ê½
¼ÇµÃÔçÄê¿´MicromuseµÄNetCoolʱºò£¬¶ÔÆä¸æ¾¯³ÊÏÖ·½Ê½ºÜÓÐÓ¡Ïó£ºÒ»¸ö¸æ¾¯É«µÄÁâÐε××ù£¬¼ÈÖ±¹ÛÓÖÃÀ¹Û¡£Èç½ñTWaver FlexÖÐÒ²ÌṩÁËÕâÖÖȫеĸ澯äÖȾ·½Ê½£¬¶øÇÒ»¹Óи÷ÖÖÐÎ×´µÄ“µ××ù”¿ÉÒÔÑ¡Ôñ£º
ÁíÍ ......
ÔÎĵØÖ·£ºhttp://www.javaeye.com/topic/392836
¹ØÓÚFlex
Adobe FlexÊÇÒ»Ì×´´½¨¸»¿Í»§¶ËÓ¦ÓÃ(RIAs)µÄ¿ò¼Ü.FlexÉú³ÉµÄswfÎļþ¿ÉÒÔÖ±½ÓÔËÐÐÔÚFlash PlayerÖ®ÖС£Ïà±È½Ï»ùÓÚʱ¼äÖáµÄFlash¿ª·¢£¬Flex¿ò¼Ü¸üÊʺÏÄÇЩÓô«Í³·½Ê½¿ª·¢Ó¦ÓóÌÐòµÄ¿ª·¢ÈËÔ±¡£FlexÓ¦ÓÿÉÒÔʹÓÃFlex builderÀ´¿ª·¢¡£ÕâÌ×IDEÊÇ»ùÓÚEclipseƽ̨¿ª·¢µÄ¡£Action Script3ÓïÑÔÊÇÓÃÀ´·ÃÎÊÊý¾ÝºÍ´´½¨Óû§½Ó¿Ú×é¼þµÄ¡£Flex¿ò¼ÜÒ²Óõ½ÁËÒ»ÖÖXMLÓïÑÔ½Ð×öMXML£¬ËüÊÇÓÃÀ´¼ò»¯Flex¿ª·¢ºÍ²¼¾ÖµÄ¡£
¹ØÓÚSpring
SpringÊÇĿǰ×îÊÜ»¶ÓµÄ´´½¨ÆóÒµ¼¶Ó¦ÓõÄJava¿ò¼Ü¡£²»Ïñ´«Í³µÄJ2EE¿ª·¢£¬SpringÌṩÁËÇáÁ¿¼¶µÄÈÝÆ÷¡£Ê¹ÓÃSpring»áʹӦÓõIJâÊԺͿª·¢¸üΪ¼òµ¥¡£ËäÈ»SpringÒÀÀµ×¢ÈëµÄ¹¦ÄÜ×î³öÃû£¬µ«ÊÇËüÒ²ÌṩÁËÆäËû·þÎñ¶ËÆóÒµ³ÌÐòËùÐèÒªµÄ¹¦ÄÜ¡£È簲ȫºÍÊÂÎñ´¦Àí¡£
ΪʲôʹÓÃFlexºÍSpring
Flex¼¼Êõ±¾ÉíºÍJava¾ÍÓкÜÇ¿µÄ¹ØÁªÐÔ£¬ËüÌṩÁËÒ»¸ö»ùÓÚEclipseµÄIDEºÍBlazeDS.BlazeDSÊǸö»ùÓÚ·þÎñ¶ËµÄJavaÔ¶³Ìµ÷ÓúÍWebÏûÏ¢µÄÒ»¸ö¿ªÔ´µÄ¼¼Êõ¡£ÓÐÐí¶àÓ¦Óö¼ÊÇÒÔJavaΪºó¶Ë´¦ÀíµÄ¡£FlexÓÃÓÚǰ¶Ë¡£ÓÉÓÚJavaºÍFlexÒ»ÆðƵ·±µÄʹÓá£ÈËÃǺÜÈÝÒ×¾ÍÏëµ½FlexºÍSpringµÄÕûºÏ¡£ÓÐÐí¶àÆóÒµºÍ×éÖ¯ÒѾ×ÅÊÖ¿ªÊ¼Ê¹ÓÃFlex×÷ΪÓû§½Ó¿ÚÁË¡£ÔÚ2008Ä ......
ÔÎĵØÖ·£ºhttp://www.javaeye.com/topic/392836
¹ØÓÚFlex
Adobe FlexÊÇÒ»Ì×´´½¨¸»¿Í»§¶ËÓ¦ÓÃ(RIAs)µÄ¿ò¼Ü.FlexÉú³ÉµÄswfÎļþ¿ÉÒÔÖ±½ÓÔËÐÐÔÚFlash PlayerÖ®ÖС£Ïà±È½Ï»ùÓÚʱ¼äÖáµÄFlash¿ª·¢£¬Flex¿ò¼Ü¸üÊʺÏÄÇЩÓô«Í³·½Ê½¿ª·¢Ó¦ÓóÌÐòµÄ¿ª·¢ÈËÔ±¡£FlexÓ¦ÓÿÉÒÔʹÓÃFlex builderÀ´¿ª·¢¡£ÕâÌ×IDEÊÇ»ùÓÚEclipseƽ̨¿ª·¢µÄ¡£Action Script3ÓïÑÔÊÇÓÃÀ´·ÃÎÊÊý¾ÝºÍ´´½¨Óû§½Ó¿Ú×é¼þµÄ¡£Flex¿ò¼ÜÒ²Óõ½ÁËÒ»ÖÖXMLÓïÑÔ½Ð×öMXML£¬ËüÊÇÓÃÀ´¼ò»¯Flex¿ª·¢ºÍ²¼¾ÖµÄ¡£
¹ØÓÚSpring
SpringÊÇĿǰ×îÊÜ»¶ÓµÄ´´½¨ÆóÒµ¼¶Ó¦ÓõÄJava¿ò¼Ü¡£²»Ïñ´«Í³µÄJ2EE¿ª·¢£¬SpringÌṩÁËÇáÁ¿¼¶µÄÈÝÆ÷¡£Ê¹ÓÃSpring»áʹӦÓõIJâÊԺͿª·¢¸üΪ¼òµ¥¡£ËäÈ»SpringÒÀÀµ×¢ÈëµÄ¹¦ÄÜ×î³öÃû£¬µ«ÊÇËüÒ²ÌṩÁËÆäËû·þÎñ¶ËÆóÒµ³ÌÐòËùÐèÒªµÄ¹¦ÄÜ¡£È簲ȫºÍÊÂÎñ´¦Àí¡£
ΪʲôʹÓÃFlexºÍSpring
Flex¼¼Êõ±¾ÉíºÍJava¾ÍÓкÜÇ¿µÄ¹ØÁªÐÔ£¬ËüÌṩÁËÒ»¸ö»ùÓÚEclipseµÄIDEºÍBlazeDS.BlazeDSÊǸö»ùÓÚ·þÎñ¶ËµÄJavaÔ¶³Ìµ÷ÓúÍWebÏûÏ¢µÄÒ»¸ö¿ªÔ´µÄ¼¼Êõ¡£ÓÐÐí¶àÓ¦Óö¼ÊÇÒÔJavaΪºó¶Ë´¦ÀíµÄ¡£FlexÓÃÓÚǰ¶Ë¡£ÓÉÓÚJavaºÍFlexÒ»ÆðƵ·±µÄʹÓá£ÈËÃǺÜÈÝÒ×¾ÍÏëµ½FlexºÍSpringµÄÕûºÏ¡£ÓÐÐí¶àÆóÒµºÍ×éÖ¯ÒѾ×ÅÊÖ¿ªÊ¼Ê¹ÓÃFlex×÷ΪÓû§½Ó¿ÚÁË¡£ÔÚ2008Ä ......
Ò»¡¢
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
addedToStage="stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown)"
click="clickEvt(event)"
layout="absolute"
frameRate="6"
creationComplete="start()" keyFocusChange="testKey(event)"
backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#990000, #FF9900]">
<mx:Script source="SnakeMain.as"/>
¶þ¡¢<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
applicationComplete="appComplete();">
&n ......
¶Ôflex datagrid scrollbarλÖÃÉèÖÃÐèÒªÒ»Ð©ÌØÊâ´¦Àí£¬¼ûÈçϽØÍ¼£º
¹Ø¼üµãÔÚÓÚDataGridÓµÓÐprotectedµÄ horizontalScrollBar ºÍ verticalScrollBar ÊôÐÔ£¬¶ÔÆäÉèÖü´¿ÉʵÏÖÈçÉϽØÍ¼µÄЧ¹û¡£´úÂëÈçÏ£º package com.util.component
{
import mx.controls.DataGrid;
import mx.events.DataGridEvent;
import mx.core.ScrollPolicy;
import mx.events.FlexEvent;
public class AFWDataGrid extends DataGrid
{
public function AFWDataGrid()
{
super();
horizontalScrollPolicy = ScrollPolicy.AUTO;
}
private function setScrollPos():void
{
if(columns == null || columns.length < lockedColumnCount)
return;
var xOffset:Number = 0;
for(var i:int=0; i<lockedColumnCount; ++i)
xOffset += columns[i].width;
if (horizontalScrollBar && horizontalScrollBar.x < xOffset){
horizontalScrollBar.x = xOffset;
horizontalScrollBar.setActualSize(horizontalScrollBar.width - xOffset,
horizontalScrollBar.height);
}
if(vert ......