1

アクションリスナーに次のコードがあります。正常に動作しています。

private void setActionPerformed(java.awt.event.ActionEvent evt){
    Container ct=button1.getParent();
    String panel_name=ct.getName();
    String button_val=button1.getText();
    textfield1.setText(panel_name+"-"+button_val);
}

しかし、私は約50個のボタンを持っているので、すべてのボタンのすべてのアクションリスナーで関数(setActionPerformed)を呼び出したいと思います。だから私は次のことを試しました

private void setActionPerformed(java.awt.event.ActionEvent evt){
    Container ct=this.getParent();
    String panel_name=ct.getName();
    String button_val=this.getText();
    textfield1.setText(panel_name+"-"+button_val);
}

しかし、それは機能していません!! 任意のsgsn??

4

2 に答える 2

1

私が問題を理解している場合は、各ボタンに同じコードを再利用したいと考えています。メソッドから継承するクラスを作成し、ActionListenerどのボタンが押されたかを知るために使用する必要があります。setActionPerformed(ActionEvent e)e.getSource()

addActionListener(ActionListener)この新しいクラスのインスタンスをパラメーターとして使用するだけです。

于 2013-05-30T19:53:15.393 に答える