をJDesktopPane
で作成しました。その中でJInternalFrame
と呼んでいます。今度はエスケープキーを押してその内部フレームを閉じたいと思う。エスケープキーを押してJInternalFrameを閉じる方法は?
私は2つの方法で試しましたが、出力はありませんでした。私は
下記コード使用していることを私がそのオブジェクトを供給することにより、私のインターンフレームクラスコンストラクタから上記の方法と呼ばれる場合
public static void closeWindow(JInternalFrame ji){ ActionListener close=New ActionListener(){ public void actionPerformed(ActionEvent e){ ji.dispose(); } };
を、私はそれを閉じることができました。しかし、そこに私はコンストラクタにいくつかの他のコード行を書く。上記のメソッド呼び出しは機能しません。私を助けてください。コード内で問題を見つけることができませんでした。
- また、
KeyListener
を内部フレームに追加しようとしたので、キーストロークで作業することもできましたが、動作しません。 は再び私はエスケープとして以下のようにボタンに
setMnemonic
に試してみました:jButton1.setMnemonic(KeyEvent.VK_ESCAPE);
しかし、また、何も出力を与えません。
あなたの2番目のアプローチは、行く方法のようです。 KeyListenerが正しく追加されていない可能性があります。 – byxor
コードのスクリーンショットを投稿しないでください!コード自体を投稿するだけです。もっと早く助けを求めるには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 –
コード付きのあなたのスクリーンの写真は全く読めません。 – Jesper