2016-07-30 4 views
0

を実行します、最初に作成したボタンを2回同じアクションを実行します:私は削除した場合JAVA seccondボタンとそのActionListenerを追加した後、アクションは番目のボタンにリスナーを追加した後二回

public class ControladorTablaMaterial implements ActionListener { 


private VistaTablaMaterial vistaTablaMaterial; 
    private JPanel jContentPane = null; 
    private JScrollPane scrollPane = null; 
    private JTable tablaMaterial; 
    private JButton mostrarElementoButton; 
    private JButton eliminarElementoButton; 
    private ModeloTablaMaterial modeloTablaMaterial; 


    public ControladorTablaMaterial(ArrayList<Material> coleccionMaterial, ActionListener listener) { 
     String[] cabecera = {"Material", "Titulo"}; 
     this.vistaTablaMaterial = new VistaTablaMaterial(cabecera, coleccionMaterial); 
     setupVistaTablaMAterial(listener); 
    } 

    private void setupVistaTablaMAterial(ActionListener listener) { 
     this.scrollPane = vistaTablaMaterial.getScrollPane(); 
     this.tablaMaterial = vistaTablaMaterial.getTablaMaterial(); 
     this.modeloTablaMaterial = vistaTablaMaterial.getModeloTablaMaterial(); 
     this.mostrarElementoButton = vistaTablaMaterial.getMostrarElementoButton(); 
     this.eliminarElementoButton = vistaTablaMaterial.getMostrarElementoButton(); 
     this.initListeners(listener); 
    } 


    private void initListeners (ActionListener listener) { 
     getMostrarElementoButton().addActionListener(listener); 
     getEliminarElementoButton().addActionListener(listener); 

    } 

    @Override 
    public void actionPerformed(ActionEvent e) { 

    } 

} 

すべてが正常に動作します行:

getEliminarElementoButton().addAtionListener(listener); 

もちろん、そのボタンも耳を傾ける必要があります。リスナークラス内

、のactionPerformed(のActionEvent e)の方法では、私は両方のボタンを区別するために、次のコードを使用します。

if (e.getSource().equals(this.getControladorTablaMaterial().getMostrarElementoButton())) { 

このフレームを除いて正常に動作するようです。どんな推測?

トピックオフ:なぜコードインデントが正しくStackoverflowのエディタで動作していませんか?

+0

1)すぐに役立つようにするには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 2)「コードブロックの括弧の検出/修正」(http://meta.stackexchange.com/q/251795/155831)を参照して、修正できなくなった問題を解決してください。 –

+0

これはコピー/ペーストエラーです。タイプミスによって引き起こされる問題として閉じることを投票します。 – dasblinkenlight

+0

元に戻した編集を見て、字下げが機能しない理由を見てみましょう(短いストーリー、それは正しいことではないからです)。 – dasblinkenlight

答えて

1

問題は、これらの行にある:あなたは、両方のために同じボタンを取得している

this.mostrarElementoButton = vistaTablaMaterial.getMostrarElementoButton(); 
this.eliminarElementoButton = vistaTablaMaterial.getMostrarElementoButton(); 

関連する問題