Javaプログラミング/Javaプログラミング関連情報

スクリプトでJavaを使おう!(5ページ目)

「BeanShell」というスクリプトとしてJavaコードを実行できるシェルで遊んでみましょう。

執筆者:掌田 津耶乃

イベントを組み込んでみよう


では、今度はJButtonを組み込んでみましょう。プッシュボタンを作るならば、もちろん、アクションイベントの処理もあわせて組み込みたいところですね。

bsh % b1 = new JButton("Click");
bsh % b1.setBounds(100,100,100,30);
bsh % b1.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent ev){
doAction(ev);
}});
bsh % bsh % bsh % f1.add(b1);
bsh % f1.repaint();


JButtonを作成し、addActionListenerでアクションリスナーを組み込んでみました。無名クラスを利用し、actionPerformedには「doAction」というメソッドを呼び出すようにしておきます。こんな具合に、無名クラスを使って組み込みを利用することで、コンポーネントにイベント処理を組み込むことができます。

後は、呼び出されるdoActionメソッドを定義すればいいだけです。とりあえず、簡単なサンプルを用意しておきましょう。

bsh % public void doAction(ActionEvent ev){
l1.setForegroundColor(l1.getForegroundColor().equals(Color.RED) ? Color.BLUE : Color.RED);
}


<New Bsh Workspace>ボタンをクリックすると、JLabelのテキストの色が変わる。


これで、ボタンをクリックするとJLabelのテキストの色が変わるようになります。ちゃんとイベント処理が機能していることがわかりますね。

では、ここで問題です。このdoActionの処理を変更したくなったらどうすればいいのでしょうか? ――答えは、実はとんでもなく簡単です。また、doActionメソッドを書けばいいのです。

bsh % public void doAction(ActionEvent ev){
l1.setText("No Event");
}


このように実行すると、今度はクリックするとJLabelのテキストが変わるようになります。同じメソッドを再度実行することで、既にあるメソッドから新たに入力したメソッドに置き換わったのです。こんな具合に、メソッドやフィールドも後から置き換えていくことが可能です。これはかなり強力ですね。

<New Bsh Workspace>ボタンクリックするとテキストが変わる。イベント処理のメソッドが変更されたのがわかる。



  • 前のページへ
  • 1
  • 4
  • 5
  • 6
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます