これは単純な動作のようですが、問題を起こすのが難しいです。私はデータをグラフ化するソフトウェアに取り組んでいます。ユーザーがEnterキーを押したときにグラフを再描画したい。もっと正確には、ユーザーが入力を押して選択されたテキストフィールドを持っていないときに、グラフを描画したいと思います。今のところ、ユーザーがエンターを押すたびに描画に満足しています。フレーム内でキーを押す
まずフレームに基本KeyListener
をインストールしようとしましたが、フレームではなくJFrame
の子供がイベントを受信するため、動作しません。
私はKeyEventDispatcher
を使用しようとしましたが、それはあまりにもグローバルな概念を証明しています。一度に2つのグラフを画面に表示でき、古いグラフを閉じたり、新しいグラフに置き換えることができます。 KeyEventDispatcher
では、一度に複数のプロットを開いて、どのプロットを開くかを簡単に知る方法がなく、現在開いているプロットは、キーディスパッチャーをインスタンス化したときに開いたプロットではない可能性があります。私はこの解決策がまだ機能することは知っていますが、プログラム・アーキテクチャーにうまく収まらないプロットが現在アクティブなプロットに関する追加データを格納する必要があります。
KeyEvents
をJFrame/JPanel
またはJFrame's
の子にディスパッチする方が簡単な方法があるようです。他のフレームにディスパッチされたイベントは無視されます。フレームに付加することができ、フレームが配置されたときに自動的に配置される方法が好ましい。誰も私が試したより簡単な方法を提案することができますか?
ありがとうございます。そこには簡単な方法がなければならないことは分かっていましたが、私自身はそれを偶然見つけられませんでした。 – drew