Beans と Main の連携

ボタンのクリックで Beans の TextField からメッセージを取得します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. ボタンをクリックすると Beans の TextField からメッセージを取得して印字します。
    TextBean.java では、TextField を一個張り付けるだけです。
    //★ TextField を表示する Bean    前田 稔
    import java.awt.*;
    import java.awt.event.*;
    import java.beans.*;
    
    public class TextBean extends Panel
    {   TextField   txf;
    
        public TextBean()
        {   txf = new TextField("TextField");
            this.setLayout(new FlowLayout());
            this.add(txf);
        }
    
        public String getText()
        {   return txf.getText();  }
        
        public void putText(String str)
        {   txf.setText(str);  }
    }
    
  2. Main.java です。
    //★ TextField の Main Program    前田 稔
    //   appletviewer Main.htm
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class Main extends Applet
    {   public  TextBean    bean;
        public  Button      btn;
    
        public void init()
        {   inEventListener listener = new inEventListener();
            bean = new TextBean();
            btn = new Button("Button");
            setLayout(new FlowLayout());
            btn.addActionListener(listener);
            add(bean);
            add(btn);
            setVisible(true);
        }
    
        class inEventListener implements ActionListener
        {   public void actionPerformed(ActionEvent e)
            {   Object source = e.getSource();
                if (source==btn)
                {   System.out.println("Button Click");
                    System.out.println(bean.getText());
                }
            }
        }
    }
    
  3. Main.htm です。
    <html>
      <body>
        <hr>
        <h3>Text Bean Test</h3>
        <applet code="Main" width="200" height="100">
        </applet>
      </body>
    </html>
    
  4. TextBean.java をコンパイルして TextBean.class を作成します。
    Main.java をコンパイルして Main.class を作成します。
    appletviewer で実行を確認します。
    appletviewer Main.htm
    このプログラムは System.out.println() で Command Prompt の画面に印字します。
    従って WWW ブラウザから立ち上げても実行の確認は出来ません。

プログラムの説明

  1. TextBean.java は package を使わずに作成してみました。
    従って厳密には Java Beans とは言えないかも知れません。 (^_^;)
    TextBean では TextField を一個張り付けるだけす。
    TextField のメッセージを取得するメソッドと、設定するメソッドを定義しています。
  2. Main.java では、TextBean と Button をウインドウに貼り付けます。
        public void init()
        {   inEventListener	listener = new inEventListener();
            bean = new TextBean();
            btn = new Button("Button");
            setLayout(new FlowLayout());
            btn.addActionListener(listener);
            add(bean);
            add(btn);
            setVisible(true);
        }
        
  3. Button がクリックされると bean.getText() で TextField のメッセージを取得して印字します。
        class inEventListener implements ActionListener
        {   public void actionPerformed(ActionEvent e)
            {   Object source = e.getSource();
                if (source==btn)
                {   System.out.println(bean.getText());  }
            }
        }
        

超初心者のプログラム入門(Java2)