JavaでのFocusListenerインターフェースの重要性は何ですか?
- フォーカスイベントは、コンポーネントがキーボードフォーカスを獲得または喪失するたびに生成されます。 。
- フォーカスイベントを表すオブジェクトは、 FocusEventから作成されます クラス。
- FocusEventに対応するリスナーインターフェイス クラスはFocusListener インターフェース。 FocusEventの各リスナー FocusListenerを実装できます インターフェイス。
- FocusListener インターフェイスには2つのメソッドが含まれていますfocusGained(): リッスンされたコンポーネントがフォーカスを取得し、 focusLost():を取得した直後に、AWTによって呼び出されます。 リッスンされたコンポーネントがフォーカスを失った直後にAWTによって呼び出されます。
構文
public interface FocusListener extends EventListener {
public void focusGained(FocusEvent fe);
public void focusLost(FocusEvent fe); 例
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FocusListenerTest extends JPanel implements FocusListener {
private JTextField textField;
public FocusListenerTest() {
setLayout(new BorderLayout());
textField = new JTextField();
textField.addFocusListener(this);
add(textField, BorderLayout.NORTH);
}
public void focusGained(FocusEvent fe) {
System.out.println("Text field gained focus");
}
public void focusLost(FocusEvent fe) {
System.out.println("Text field lost focus");
}
public static void main(String args[]) {
JFrame frame = new JFrame();
frame.add(new FocusListenerTest());
frame.setTitle("FocusListener Test");
frame.setSize(375, 250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
出力
-
JavaでのSwingWorkerクラスの重要性は何ですか?
SwingWorker クラスを使用すると、非同期を実行できます タスク ワーカースレッド(長時間実行タスクなど)で、イベントディスパッチスレッド(EDT )からSwingコンポーネントを更新します。 ) タスクの結果に基づきます。 Java1.6バージョンで導入されました。 SwingWorkerクラス java.swing.SwingWorker クラスはタスクワーカーであり、時間のかかるタスクをバックグラウンドで実行します。 SwingWorker インスタンスは3つのスレッドと相互作用します。現在 スレッド 、ワーカースレッド 、およびイベントディスパッチスレッド(E
-
JavaでのSwingUtilitiesクラスの重要性は何ですか?
Javaでは、Swingコンポーネントが画面に表示された後、それらはイベント処理スレッドと呼ばれる1つのスレッドでのみ操作できます。 。別のブロックにコードを記述し、このブロックにイベントへの参照を与えることができます 処理 スレッド 。 SwingUtilities クラスには、 invokeAndWait()という2つの重要な静的メソッドがあります。 およびinvokeLater() コードのブロックへの参照をイベントに配置するために使用します キュー 。 構文 public static void invokeAndWait(Runnable doRun) throws Interr