ラベル java の投稿を表示しています。 すべての投稿を表示
ラベル java の投稿を表示しています。 すべての投稿を表示

2014年11月6日木曜日

Mac OS X 10.10 YosemiteでPhp Storm 8が起動しない場合

PhpStormを最近愛用しているけど、Yosemiteにアップデートしたら起動しない。

OS:Mac OS X 10.10 Yosemite
PhpStorm:8
Java:1.7, 1.8 両方ともOracle

Appleのデベロッパーフォーラムですでにスレッドが立っていますが、
(https://devforums.apple.com/thread/246986)
Dyld Error Message:
  Symbol not found: _CGContextSetAllowsAcceleration
  Referenced from: /Library/Java/JavaVirtualMachines/1.6.0_29-b11-397.jdk/Contents/Libraries/libawt.jnilib
  Expected in: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices

上記のようなエラーが吐かれてPhpStormは落ちます。
問題はJava1.6にあるようですが、いろいろやるのも面倒なので1.8で動くようにしてあげたら起動した。
動作保証外だと思うので自己責任で。
PhpStorm.appのパッケージを表示してContents/Info.plistの
<key>JVMVersion</key>
<string>1.6*</string>
を
<key>JVMVersion</key>
<string>1.8*</string>
にしちゃう。1.7をインストールしてるひとは1.7でいんじゃないかな?

2014年1月29日水曜日

Java3Dでキーフレームアニメーションを更新してもアニメーションが動かない!

Java3Dを使ってオブジェクトをアニメーションさせる機会があって、
その際につまづいたことがあるのでメモ程度に書いておきます。

【目的】
連続で流れてくるデータに沿ってオブジェクトの位置をアニメーションしながら動かしたい。

【つまづいたこと】
位置は更新されるけど、アニメーションが動かない。
1回目はアニメーションされるけど2回目以降がアニメーションされない。


いろいろ試しましたよー

ちゃんとKBKeyFrameの更新も正しくできているのになぜアニメーションしないんだ!

で結局原因はAlphaクラスのsetStartTimeを呼び出していなかったことが原因でした。

alpha.setStartTime(System.currentTimeMillis()); // 現在時刻から開始

しっかりとこのサイトでも書いてありました。
ちゃんとドキュメントは読まないといけませんね。。。とほほ
http://j3dbook.javaopen.org/text/program7.html

2012年11月18日日曜日

Lightbox_meでOverlayが残ってしまう

皆さんもご存知だと思います。
Lightbox_meプラグインを僕も最近使いました。

使っていて気付いたことがあります。
Overlay要素がcloseしても消えないでdisplay:none状態で残っています。

使い方が悪いのか、仕様なのか、
Ajaxで取得した以下のようなhtmlをLightbox_meするとOverlayがdisplay:noneにならずに残ってしまい、クリックなどができなくなってしまう問題が発生しました。

■やりたいこと
フォームのプレビュー画面を出したい。

Lightbox_meしているボタンをクリックすると以下のAjax通信が始まって
読み込んで来たHTMLをさらにLightbox_meするという操作で。

しかし、キャンセル(close)すると問題がおきる。
操作が効かなくなるんです。

$.get('preview', {}, function(res){
  $(res).lightbox_me();
});

resには以下のようななHTMLソースコードが入ってます。
------Ajaxで読み込んで来た要素------
<div id="preview">
 ....
</div>
---------------------------------------------

デベロッパーコンソールで見てみるとOverlay要素がのこっていました。
しかもそれがdisplay:noneになっていなかった。


どうやら、Lightbox_meはOverlayをhide()するようです。
destroyOnCloseオプションを使えば消えるけど、表示内容まで消しちゃうから再利用できない。

Lightbox_meのソースコードを見てみるとOverlayはhide()するか表示要素と一緒に消す
ことしかできないことがわかったから。
ちょっと書き換えてみました。

125行目をコメントアウトしてOverlayを消すようにしました。
※オプションにした方が使いやすそう...


                    //$self.add($overlay).hide();
            $self.hide();
            $overlay.remove();

もし使い方が間違ってたならご指摘をお願いいたします。

2012年6月15日金曜日

Java1.7とJava1.5を共存させる

理由があってJDKの異なるバージョンを共存させなければいけなくなって、
調べて解決したのでメモ。

■求める用件は以下の通り
 ・EclipseはJava1.7で動かしたい
 ・別のソフトはJava1.5で動かしたい(正確には動かさないといけなかった)

■解決方法
1、システム環境変数にJAVA_HOMEをJava1.5で設定し、PATHに追加
2、Eclipse.iniの設定ファイルに-vm項目を追加してJava1.7を設定

-vm
C:\...\...\...\Java\...\javaw.exe

これでEclipseはJava1.7で起動し、ほかのJavaソフトはJava1.5で起動する

■もうひとつのマニュアル操作的方法
1、同じくシステム環境変数にJAVA_HOMEをJava1.5を設定し、PATHに追加
2、ユーザ環境変数にJAVA_HOMEをJava1.7で設定する

これでOK。
Java1.5を使いたい場合は、上記の設定で。
Java1.7を使いたい場合は、システム環境変数のJAVA_HOMEをJAVA_HOME2とかにしちゃう
そうするとPATHの中のJAVA_HOMEはユーザ環境変数のJAVA_HOMEになるから
Java1.7が使えるという方法

取り急ぎメモ。