パスワードを忘れた? アカウント作成
432153 journal

nogの日記: Pint

日記 by nog

ImageViewerを作っていると、沸々とファイラーを作りたくなってくる。ということでひさびさにいじっています。まずは新しいPnutsを拾ってきて動かしてみる、、、2年間放置していたかっ
んで、単純には動きませんでした。スクリプト側でちょっとした修正を施すことによってなんとか動くようになりましたが、フォーカスが相変わらずです。何とかならないものかなぁ。

Pintは(僕の中では)やりすぎなほどにPnutsで動かそうとしていて、実行時1度しか使わないスクリプトの量を減らした方がいいのかなぁっておもってます。けど、たぶんそのまんまでしょう。

以下追記

フォーカスが相変わらず(相変わらず不可解)というのは、複数のJPanelがあって、あるJPanelを呼んだ場合その中にあるコンポーネントをrequestFocusInWindowで明示的にリクエストしているにもかかわらずフォーカスが得られなかった。(と思っていた)
そこでよーくみてみると一瞬だけフォーカスを得ている。てっきり複数のJPanelをJTabbedPaneで変更していたので古い描写でも残っていると思ったら違った。そこでgoogleで"java focus lost"で検索するとそれっぽいページが見つかった。Macではほかのコンポーネントがvalidate(コンポーネントの内容が変わったら呼び出す関数)を実行するとフォーカスがどっか行っちゃうらしい。
てことで、requestFocusInWindowを行う前にvalidateを実行することでフォーカスのロストを回避できた。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...