JAva GUIプログラミングのリスニング操作例分析
4430 ワード
この例ではjava GUIプログラミングのリスニング操作について説明します.皆さんの参考にしてください.具体的には以下の通りです.
Frameのcomponentコンポーネントをクリックすると、それに応じた効果が得られますが、それに応じてリスニングを行い、そのオブジェクトであることを特定しなければなりません.その操作ですが、cupでアクティブなリスニングを行うと大量のリソースが消費されるため、受動的なリスニングがあり、つまり対応するイベントが発生すると自動的に関連コードが実行されます.
Buttonリスニング:
instance 1:
受動的な傍受を行うには、どこでどのようなタイプのcomponetが発行されたのかを決定する必要があります.私たちはすべての情報を提供することはできません.そのため、私たちは初めてイベントに対応するオブジェクトを構築しました.それはインタフェースを実現し、イベントが発生すると、対応するイベントメソッドを呼び出します.すなわち(implements ActionListener)であり、対応する実装方法は、イベント動作の提供を要求する.
instance 2:
注意:1つのリスナーが複数のbuttonオブジェクトをリスニングする場合は、setActionCommandで区別できます.これは、1つのプロパティまたはタグに相当します.
TextField(テキスト入力傍受)
instance 3;
TextFieldはテキストクラスを入力するコンポーネントであり,Frameクラスについては直接Frameで構成することができ,1つのFrameのオブジェクトを直接生成することができ,もう1つのFrameを直接継承することができる.これはすでに1つのFrameクラスが存在していることに相当し,Frame裏面の方法を直接使用することができる.
注:上のsetText(null)は、入力が完了してリターンキーを押すと、入力ボックスのデータが自動的に空になります.なければ、存在し続けます.
instance 4:
Text FiledオブジェクトにsetEchoCharを追加しただけで、入力後の表面表示を表します.ない場合、つまり入力のために何が表示され、追加した場合は入力パスワードと同じように上書きされます.
Javaアルゴリズムに関する詳細に興味のある方は、「Javaデータ構造とアルゴリズムチュートリアル」、「Java操作DOMノードテクニックまとめ」、「Javaファイルとディレクトリ操作テクニックまとめ」、「Javaキャッシュ操作テクニックまとめ」のトピックを参照してください.
本文で述べたjavaプログラム設計に役立つことを願っています.
Frameのcomponentコンポーネントをクリックすると、それに応じた効果が得られますが、それに応じてリスニングを行い、そのオブジェクトであることを特定しなければなりません.その操作ですが、cupでアクティブなリスニングを行うと大量のリソースが消費されるため、受動的なリスニングがあり、つまり対応するイベントが発生すると自動的に関連コードが実行されます.
Buttonリスニング:
instance 1:
import java.awt.*;
import java.awt.event.*;
public class MoniterStart {
public static void main(String[] args) {
Frame f = new Frame();
Button b = new Button("Press ");
f.add(b,BorderLayout.CENTER);
MyMonitor bh = new MyMonitor();
b.addActionListener(bh);
f.setBounds(100, 100, 300, 300);
f.setVisible(true);
}
}
class MyMonitor implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("aAH");
}
}
受動的な傍受を行うには、どこでどのようなタイプのcomponetが発行されたのかを決定する必要があります.私たちはすべての情報を提供することはできません.そのため、私たちは初めてイベントに対応するオブジェクトを構築しました.それはインタフェースを実現し、イベントが発生すると、対応するイベントメソッドを呼び出します.すなわち(implements ActionListener)であり、対応する実装方法は、イベント動作の提供を要求する.
instance 2:
import java.awt.*;
import java.awt.event.*;
public class Monitor2 {
public static void main(String[] args) {
Frame f1 = new Frame();
Button b1 = new Button("Start ");
Button b2 = new Button("Stop ");
b1.setActionCommand("The End");
f1.add(b1,BorderLayout.CENTER);
f1.add(b2,BorderLayout.SOUTH);
MyMonitor1 bh = new MyMonitor1();
b1.addActionListener(bh);
b2.addActionListener(bh);
f1.setBounds(100, 100, 300, 300);
f1.setVisible(true);
}
}
class MyMonitor1 implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("aAH you get it " + e.getActionCommand());
}
}
注意:1つのリスナーが複数のbuttonオブジェクトをリスニングする場合は、setActionCommandで区別できます.これは、1つのプロパティまたはタグに相当します.
TextField(テキスト入力傍受)
instance 3;
import java.awt.*;
import java.awt.event.*;
public class TfMonitor {
public static void main(String[] args) {
new TFFrame();
}
}
class TFFrame{
TFFrame(){
Frame f = new Frame("TF");
TextField tf = new TextField();
f.add(tf);
tf.addActionListener(new TFFrameMonitor());
f.setBounds(100, 100, 300, 300);
f.setVisible(true);
}
}
/*
class TFFrame extends Frame{
TFFrame(){
// Frame f = new Frame("TF");
TextField tf = new TextField();
add(tf);
tf.addActionListener(new TFFrameMonitor());
// f.setBounds(100, 100, 300, 300);
setBounds(100, 100, 300, 300);
setVisible(true);
}
}
*/
class TFFrameMonitor implements ActionListener{
public void actionPerformed(ActionEvent e) {
TextField text = (TextField)e.getSource();
System.out.println(text.getText());
// text.setText(null);
}
}
TextFieldはテキストクラスを入力するコンポーネントであり,Frameクラスについては直接Frameで構成することができ,1つのFrameのオブジェクトを直接生成することができ,もう1つのFrameを直接継承することができる.これはすでに1つのFrameクラスが存在していることに相当し,Frame裏面の方法を直接使用することができる.
注:上のsetText(null)は、入力が完了してリターンキーを押すと、入力ボックスのデータが自動的に空になります.なければ、存在し続けます.
instance 4:
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TFFrame2Monitor {
public static void main(String[] args) {
new TFFrame2();
}
}
class TFFrame2 extends Frame{
TFFrame2(){
TextField tf = new TextField();
add(tf);
tf.addActionListener(new TFFrameMonitor2());
tf.setEchoChar('*');
setBounds(100, 100, 300, 300);
setVisible(true);
}
}
class TFFrameMonitor2 implements ActionListener{
public void actionPerformed(ActionEvent e) {
TextField text = (TextField)e.getSource();
System.out.println(text.getText());
text.setText(null);
}
}
Text FiledオブジェクトにsetEchoCharを追加しただけで、入力後の表面表示を表します.ない場合、つまり入力のために何が表示され、追加した場合は入力パスワードと同じように上書きされます.
Javaアルゴリズムに関する詳細に興味のある方は、「Javaデータ構造とアルゴリズムチュートリアル」、「Java操作DOMノードテクニックまとめ」、「Javaファイルとディレクトリ操作テクニックまとめ」、「Javaキャッシュ操作テクニックまとめ」のトピックを参照してください.
本文で述べたjavaプログラム設計に役立つことを願っています.