Flex

1068 Class と Class は共有できません

DataGrid中にitemEditorを作成して、itemEditBeginningイベントで、エディットする行のデータを取得して、そのデータを参照しようとすると、題記の例外エラーが発生した。実際には、Classとなっているところは両方ともパッケージ名からすべて等しいクラスで…

閉じているTreeの特定のアイテムを選択状態にする

TreeのdataProviderにデータを設定した直後の状態、つまり、ルートのノードだけが表示されていてルートの子供はみな閉じている状態になっている。この状態で、特定の条件のアイテムを選択状態にする。 ルートから順番にアイテムを開いていき、そのアイテムの…

swfの関数が動作しない

TomcatのLdapRealmで認証した後にFlexのプログラムを実行するようにしているが、昨日、急にFlexの画面は表示されるが、関数が一切実行されないという現象が発生した。ちなみに、ApplicationのcreationCompleteイベントにイベントハンドラー関数を設定して、…

Firefoxの下半身

ぼくが作ったFlexアプリケーションを客先で見たら、下半分が白く表示されてしまう。Flexアプリケーションなので、使用しているUser Agentの違いはあまり影響はないだろうと思って、IEでのみテストを行っていた。 いきなり画面の上半分に圧縮された形で表示さ…

Treeのクリック処理

Treeのアイテムをクリックしたときにその(選択されている)アイテムのアイコンを変更するということをしているのだが、クリックイベントがアイテムをクリックしたときだけではなく、背景をクリックしたときやスクロールバーをドラッグしてマウスボタンをア…

Scrybe

第6回 仕事で使える! お役立ちFlash/AIRアプリ集で「最も期待されているベータアプリNo.1」としてScrybeというソフトウェアが紹介されていた。Flashのスケジューラなのだが、動きが洗練されている。カレンダーはTileを使っているのかな?どのように実装す…

Realmによるセキュリティ制御

認証されていないリソースにアクセスに行った時にログイン画面を表示するといったことをするために、TomcatではRealmという概念がある。 TomcatのJNDIRealmを使用したFORM認証 http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/realm-howto.h…

Treeにチェックボックス

Treeコントロールにチェックボックスをつけてチェック済みのノードに対して一括して何かを行いたいということがあると思う。このようなときにはTreeのアイコン部分を利用する。 デフォルトでは開いたフォルダ、閉じたフォルダ、用紙のアイコンだが、チェック…

Timerのサンプルに物申す

一定時間ごとに処理を行うためには、Timer型のオブジェクトでタイマーイベントを発生させる。 タイマー間隔の制御のようにすればよいのだが、サンプルではminuteTimer.start();がないため、いつまでたってもonTick関数が呼ばれない。ちょっと悩んでしまった。

Panelに線を引く

Panelに横線を引く。肝となる部分は、線はSprite(Shapeでも可)オブジェクトを使用するということと、Spliteオブジェクトを直接Panelに追加せずに、UIComponentでラップすること。ラップしなかったため、「TypeError: Error #1034: 強制型変換に失敗しました…

Base64 Encode & Decode

Base64のEncodeとDecodeのクラスがあるそうだ。しかもFlex2で。しかしながらリファレンスマニュアルには載っていなかった。ほんとに使えるのかやってみよう。

XMLの検索

何度もコードを書いているが、あやふやなので覚書、XML 階層構造へのアクセス。E4XでXMLアクセスがとてもシンプルになった。

PanelのDrag&Drop

CanvasにPanelを貼り付けたら、そのCanvas内でPanelをDrag&Dropにより移動可能にする。 Panel上でマウスをクリックしたら、Panelの親であるCanvasに設定してあるマウスダウンハンドラ関数が呼ばれる。マウスイベントのcurrentTargetは親であるCanvasが、targ…

角丸できた

角丸四角をCanvas型で作成しようと思い、CSSにroundedCorners:10などとしたが、変化なかったが、ついにできた。Canvasではなく、Panelを使用すればよかった。 http://examples.adobe.com/flex2/consulting/styleexplorer/Flex2StyleExplorer.htmlで見た目を…

バーの伸縮#3

バーの伸縮はできたが、Canvas上でドラック位置からドロップ位置までの角丸の四角形をCanvasの子Canvasとして描画しようとしているが、角丸にはならない。角丸は、CSSにroundedCorners:10と記述している。CSSに指定したとおりに背景色は青色になっているので…

バーの伸縮#2

クリックすると1時間分のスケジュールが設定されるのではなく、スケジュール上でドラッグを始めると、灰色(Alphaあり)で開始から終了までの四角を描画する。ドロップすると、タイトル程度が入力できるウィンドウが表示され、OKボタンをクリックすると、ドラ…

バーの伸縮 #1

画面をクリックすると、1時間の長さのバーを表示する。キャンバス(scheduleCanvas)をスケジュール帳のスケジュールを書き込む部分とする(widthやheightはいい加減)。クリックしたときのハンドラ関数を設定する。 <mx:Canvas id="scheduleCanvas" x="0" y="0" width="150" height="300" backgroundColor="#ffffff" click="scheduleCanvasClickHandler(event)"/> スケジュール帳をクリックした場合に、その</mx:canvas>…

バーの伸縮

スケジュール帳などで時間を指定する方法として時間を表すバーを伸縮することにより、時間を指定することができるようにする。 以下のように動作させる。 画面をクリックすると、1時間の長さのバーを表示する。 上辺および下辺をクリックするとマウスカーソ…

Flex勉強会 in 広島

これから広島へ勉強会に行ってきます。

別のHTMLを呼び出す方法

http://www.fxug.net/modules/xhnewbb/viewtopic.php?viewmode=thread&topic_id=625&forum=1を参考にした。

navigateToURLは誰のメソッド?

cairngormでViewHelperクラスでnavigateToURLを使用するため、ViewHelperが保持しているviewでview.navigateToURL(...としたがエラー。navigateToUrlてどのクラスのメソッドか探していると、なんとflash.netパッケージのグローバル関数だった。

セキュリティサンドボックス侵害

サーバーにwebアプリケーションを配置していざFlexアプリケーションを起動した。問題なく起動したが、別のswfファイルを呼び出す時点で「セキュリティサンドボックス侵害」例外が発生した。調査したところ、Webルートにcrossdomain.xmlを配置する必要がある…

DataGrid内のDrag & Drop

とても簡単。単に行の入れ替えやコピーはdragEnabledやdropEnableをtrueにすれば自動的にFlexがDrag & Dropしてくれる。独自処理がある場合には独自処理を記述してやればよい。 論理的につながっている複数の行をDrag & Dropする場合など、独自処理が必要な…

DataGridのComboBoxの値が元に戻る

DataGridにitemEditorでComboBoxを設定したところ、セルをクリックすると、ComboBoxが表示されるが、ComboBoxの値を選択してもComboBoxのセルからフォーカスを移動するとComboBoxの先頭の値に変わってしまってその値が表示される。 ComboBoxに北海道・青森・…

Papervision3Dってなに?

いよいよ今週末に勉強会@広島だけど、keisoさんによるPapervision3Dについての発表があるとのこと。Papervision3Dなるものについて、はじめて聞いたので調べてみたところ、Flashで動作する3D Engineであるということ。Papervision3Dのサイトへ行くと、Shark …

同一のコントロールmxmlからmx:Component中のコントロールの参照方法

同一のコントロールmxmlからmx:Component中のコントロールを参照する方法についてFxUGのFlex Framework 2.0フォーラムに問い合わせたところ、id:chisa-toさんからカスタムコントロールを使用するという回答をいただいた。 詳しくは、フォーラム - Flex User …

データグリッドの背景だけがスクロールする

DataGridにのItemEditorにTextBox系コントロール以外を設定した場合、そのコントロールで入力した場合、グリッドをスクロールしても行ごとに描画している背景色の白と灰色はスクロールするが、値自体はスクロールしない。 たとえば、データグリッドの列のア…

outerDocument

データグリッドに入力時だけコンボボックスを埋め込み、入力時以外はコンボボックスで選択した文字列を表示するだけにするために、インラインでComponentを追加した。 <mx:Script> </mx:Script> <mx:DataGridColumn headerText="名称" dataField="name"> <mx:itemEditor> <mx:Component className="cls1"> </mx:component></mx:itemeditor></mx:datagridcolumn>

CalculateRuleにプロパティ null が見つからず、デフォルト値もありません

データグリッドの行ごとに削除ボタンを追加したところ、以下のエラーがコンソールに表示された。 ReferenceError: Error #1069: example.CalculateRule にプロパティ null が見つからず、デフォルト値もありません。 at mx.controls::Button/set data()[C:\d…

連想配列

いまさらながら連想配列 var ar:Array = new Array(); var o:Foo = new Foo(); o.prop1 = "aaa"; o.prop2 = "bbb"; ar["key1"] = o; o = new Foo(); o.prop1 = "ccc"; o.prop2 = "ddd"; ar["key2"] = o; o = ar["key1"]; trace(o.prop1); //aaa