将按钮的ActionEvents组合成一个类

时间:2017-04-12 18:18:25

标签: java

我编写了一个控制类的所有按钮的方法:

public void buttonController(JButton buttonStimmeErfassen, JButton buttonProjekteLaden, JButton buttonDBimport, JButton buttonErfasserSpeichern, ActionEvent e) {
    if (e.getSource().equals(buttonStimmeErfassen)) {
        new TabController().tabWechseln(1,e);
    } else if (e.getSource().equals(buttonProjekteLaden)){
        new TabController().tabWechseln(2,e);
    } else if (e.getSource().equals(buttonDBimport)){
        new TabController().tabWechseln(3,e);
    } else if(e.getSource().equals(buttonErfasserSpeichern)); {
        new StartTabModel().erfasserSpeichern(StartTab.textfeldErfasser,buttonErfasserSpeichern,e,frame);
    } 
}

在我的视图类中调用按钮:

public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        e.getActionCommand();
        new StartTabModel().buttonController(buttonStimmeErfassen, buttonProjekteLaden, buttonDBimport, buttonErfasserSpeichern, e);
    }

它到目前为止有效。但我有另一种方法,如果我触发任何按钮,也会调用最后一种方法。

    public void erfasserSpeichern(JTextField j, JButton b, ActionEvent a, JInternalFrame frame) {

        if (j.isEditable() == true) {
        a.getActionCommand();
        j.setEditable(false);
        b.setText("Logout");

        if (j.getText().equals("S119")) {
            JOptionPane.showMessageDialog(frame, "xxx");
            j.setEditable(true);
            b.setText("Login");
        } else
            JOptionPane.showMessageDialog(frame, "xxx");

    } else if (j.isEditable() == false) {
        a.getActionCommand();
        j.setEditable(true);
        b.setText("Login");
        JOptionPane.showMessageDialog(frame, "xxx");
        j.setText("S119");
    }

有人可以解释我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案......愚蠢的错误...... 在我的其他地方有一个分号:

else if(e.getSource().equals(buttonErfasserSpeichern));