タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

javaに関するpufのブックマーク (3)

  • GUI部品にフォーカスを奪われた場合の対処

    パネル上にいくつかのボタンを持ったGUIアプリケーションにおいて、キー入力を受け付けさせたくても、入力できなくなることがあります。これはなぜなのでしょうか。また対策はどうすればよいのでしょうか。 イベントモデル Javaは、GUIにおけるイベントの処理に「委譲イベントモデル」を採用しています。このモデルではイベントを発生させる「イベントソース」と、そのイベントを処理するための「リスナ」という2つの役割が存在します。イベントを受け取ってリスナに渡すためには、GUI上の適当なコンポーネントにリスナを登録する必要があります。 例えば「マウスをパネル上でクリックするとその場所に点が表示される」場合では、マウスがMouseEventを発生させる「イベントソース」となり、そのイベントが「リスナ」としてのパネルに渡されることになります。リスナはパネルに登録され、パネルはマウスがその上で発生させるイベント

    GUI部品にフォーカスを奪われた場合の対処
    puf
    puf 2008/11/20
  • 数字を一瞬だけ表示 - OKWAVE

    これは、先の質問とは根的に違う話になるのですね実は。ですからわからないのも無理はありません。 表示が途中で更新されない理由は、Swingを使っているからです。使っているコンポーネントをAWTにして同じことをしてみましょう。今度は問題なく表示されるはずですよ。 Swingのコンポーネントの表示は、オフスクリーンバッファリングを使って行っています。これは見えない描画用バッファです。表示を変更するような必要が生じると、まずこのオフスクリーンバッファに変更した状態を描画し、すべて表示が完成したところでJFrameに転送され表示されます。 重要なのは、「すべて終わってから表示される」ということです。それはつまり、コンポーネント類の操作などを行うスレッドの処理が終わってから、ということになります。 ちょっと面倒な話になりますが、通常コンポーネント類の描画などの処理は、メインスレッドからAWT-Eve

    数字を一瞬だけ表示 - OKWAVE
    puf
    puf 2008/11/20
  • Javaの道>掲示板(Thread.sleepを複数回、回すとき画面がその間変わらない?)

    Thread.sleepを複数回、回すとき画面がその間変わらない? int t=100; while(t>0){ Thread.sleep(t); jLabel.setText(Integer.toString(t)); t- = 1; } のとき、jLabelに「99,98,.....」と表示されると思ったのに、「1」が表示されるまで何も起こりませんでした。どうすれば、「99,98,....」と表示できるのでしょうか?

    Javaの道>掲示板(Thread.sleepを複数回、回すとき画面がその間変わらない?)
    puf
    puf 2008/11/19
  • 1