Skip to main content

低レベルな質問で申し訳ありませんが…

2 replies [Last post]
suppin21
Offline
Joined: 2005-05-23
Points: 0

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
NISHIMOTO Keisuke

西本です.

interest_ja@javadesktop.org wrote:
> 現在サンプル(Monolith)をいじりながらLG3Dのプログラムを勉強しているのですが、わからないことが出てきたので大変恐縮ですが質問させて頂きました。

> ↑の部分をマウスクリックではなく、キーボードの特定のキーを押すことでアクションを起こせるようにしたいのですが、いまいちKeyPressedActionの使い方がわかりません。
>
> 誰か分かる方、教えて頂けませんでしょうか?

特定のキーを判断するならKeyTypedEventAdapterを使えばいいと思います.

component.addListener(new KeyTypedEventAdapter(
new ActionChar() {
public void performAction(LgEventSource source, char value) {
// 処理
}
}
));

アクションの処理については,ActionCharがインターフェースしか
ないようですので,必要な処理を記述する必要があります.

例では,ToggleAdapter+RotateActionBooleanで,コンポーネントを
回転するよう指定していますが,
Component3D#changeAngle(...);
で指定してやる必要がありますね.

もちろん特定のキーでActionBooleanを呼び出せるActionCharを
作ってもいいです.

そうすればToggleAdapter+RotateActionBooleanできます.

---------+---------+---------+---------+---------+---------+----------
NISHIMOTO Keisuke

---------------------------------------------------------------------
To unsubscribe, e-mail: interest_ja-unsubscribe@lg3d.dev.java.net
For additional commands, e-mail: interest_ja-help@lg3d.dev.java.net

suppin21
Offline
Joined: 2005-05-23
Points: 0

西本さま

大変丁寧なご説明、どうもありがとうございます。恐縮です。

現時点で私がこの説明をどれだけ理解できているのか、という部分で不安はありますが、大変参考になりました。

明日は休日ですので、この説明を頼りに頑張ってみようと思います。

理解して、成功したら、もう一度ここにお礼を言いにこようと思います。

本当にありがとうございました!

稲垣