952 :
943:2009/12/13(日) 19:52:45
一応報告です
KeyboardFocusManagerで調べたら、mainFrameにフォーカスが当たっていたので、
mainPanelではなく、getApplication().getMainFrame()へaddKeyListenerしたら
キーが取得できたっす。
ヒントくれた皆さんありがとー
それはmainPanel.addKeyListenerじゃ取れないだろうなあ。
KeyStrokeとInputMapのWHEN_IN_FOCUSED_WINDOWじゃダメなの?
漠然と質問ですが、Swingを使いやすくした補助ライブラリみたいなユーティリティクラス群のライブラリってありますか?
apacheのcommonsみたいなやつ
ラップして使い勝手あげる方針がApp Framework。
機能強化して使い勝手あげるのがSwingXとかSwing lab製ライブラリ群。
>>956 GUI作成支援のアプリケーションを作りたいのですが、
D&Dで移動したり、部品のリサイズ、追加、削除、この辺をやる上で使い勝手がいいライブラリはどれになるでしょうか?
SwingWorkerって1.6で登場ってことで、1.5の場合バックグラウンド処理はどうすればよいでしょうか?
ちなみに、Swingって1.6で大幅に使いやすくなったのでしょうか?
>>958 フツーにThread立ち上げればいいんじゃない?
ディスパッチスレッドとの競合管理とかめんどいんでね、もーね、その間GlassPane使ってGUI操作禁止にしてる。
なにそれ?
その間は入力できないの?w
>>960 うんw
と思ったけどヘビータスクの要所要所でEventQueue.invokeWait()でGUI操作してたわ。
SwingWorkerと大して変わらんね。参考にならなくてすまん。
5.0で使えるSwingWorkerがあるでしょ
>>962 SwingWorkerってクラスはないですけど、代替えクラスがあるんですかね?
javaってchdirみたいなカレントディレクトリ移動できないんですか?
>>963 jdesktop SwingWorkerでぐぐれ
SwingWorkerくらい作ればいいじゃん
いまオリジナルのSwingWorkerホストしてるのどこだっけ?
何かそんな適当に拾って来たのを、自分でメンテするのは嫌だな。
ちゃんと誰かがメンテしてるのは無いの?
無名クラスとinvokeAndWaitでええやん。
凝ったことすればSwingWorkerの再発明になりそうだが
それもまたよし
>>964 スレチなんでさくっと。
カレントディレクトリ移動の目的はな〜に?
プラットフォームにもよるけど、VMプロセスのカレントディレクトリを移動しても
たぶんFile#getAbsoluteFile()とかには反映されないよ。
システムプロパティ"user.dir"を変更しとくのじゃだめ?
javaにカレントディレクトリの概念はないいんじゃなかったっけ
1.5ではバックグラウンド処理の機構が用意されていないのでしょうか?
>>972 ファイルの相対パスアクセスを気にしていたので、user.dirですべて解決しました。
ありがとうございます。
>>974 無いから追加されたんでしょう
すでにあるのなら新しく作る意味ないし
>>972 -Duser.dir=C:\tmp\で指定したのですが反映されませんでした。
プログラム内でセットしないといけないのですかね?
>>977 あっ違う。設定はできているけど、URLクラスのfileプロトコルが無視しやがる…
new URL("file:./xxx.ini")にすると、起動ディレクトリからの相対パスだ。バグかこれ?
バグってるのはおまえWWW
>>978 だからー、もう new File("./xxx.ini").toURI().toURL() でええやん。
後は質問スレで。
>>983 アプレット通信でRMI使ってて、RMIの-Djava.rmi.server.codebaseがURL指定。
RMIモジュールをパッケージ化したので、フルパスでなんか書きたくない。
そこで相対だと思い質問しました。
工夫するのはURLでパラメータを受け取る方で、
せっかくURLというものでアクセス方法統一したなら、
工夫しないとうまく取れないというのはいかがかなと思った次第です。
javaってピクセル単位でα値を持った半透明のウィンドウを作れましたっけ?
Windowsのレイヤードウィンドウと同等のことがしたいのです。
Sunのjdk6u10以降ならcom.sun.awt.AWTUtilities使えるはず
>>986 ありがとう。でもこれじゃピクセルごとのαはできそうにないですね。
Path2Dで自分で定義すりゃいい
?マウスについてる半影みたいなのをPath2Dでできますか?
JFrameのRootPaneだかなんかのpaintComponentをオーバーライドして何もしないようにすると透けるとかそういうのなかったっけ
import java.awt.*;
import javax.swing.*;
import com.sun.awt.AWTUtilities;
public class Hoge extends JWindow {
float[] fractions = new float[] { 0, 0.97f,0.98f, 0.99f, 1 };
Color[] colors = new Color[] { Color.WHITE, new Color(1, 1, 1, 0.001f), new Color(1,0,0,0.001f), Color.RED, new Color(1,0,0,0.001f) };
Paint paint = new RadialGradientPaint(128f, 128f, 128f, fractions, colors);
Hoge() {
setSize(256, 256);
AWTUtilities.setWindowOpaque(this, false);
setVisible(true);
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(paint);
g2.fillRect(0, 0, 256, 256);
}
public static void main(String[] args) throws InterruptedException {
SwingUtilities.invokeLater(new Runnable(){
public void run() {new Hoge();}
});
Thread.sleep(5000);
System.exit(0);
}
}
マウスについてる半影が理解できん。ポインタの影のことか?
理解できんとか、おまえアホだろ
それ以外あるのか?W
じすれ
Java7のリリースが延びた隙にSwing Application Frameworkねじこんでほしいな
それそれー
ゴスリンがシングルトンの設計くそって言ったせいで取りやめになったんだっけか?
どうせシンプルなアプリケーションにしか使われないんだしいいじゃないかと思うんだけどなぁ
swing out
?
1000 :
デフォルトの名無しさん:2009/12/18(金) 23:40:28
JLabelがクリックされたとき、JLabelではなく親のコンポーネントがクリックされたことにしたいのですが
どういしたらいいでしょうか?
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。