WindowBuilder Eclipse不响应actionlistener

时间:2014-11-06 18:47:14

标签: java swing jframe actionlistener

我有一个问题。我在Eclipse中使用WindowBuilder,当我输入代码时,我的动作监听器不起作用。我尝试了一切。

另外,另一个问题是,当使用WindowBuilder时,我的框架对象的名称是什么?我看到它是在我班上制作的,但它没有名字。

    public OrdinacijaGui()
{



    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    setBounds(600 , 300 , 450 , 300);
    setTitle("Dr Idrizovic");

    getContentPane().setLayout(null);

    JButton regUslugaButt = new JButton("Registar usluga");
    regUslugaButt.setBounds(10, 11, 150, 30);
    getContentPane().add(regUslugaButt);


    JButton regMaterijalaButt = new JButton("Registar materijala");
    regMaterijalaButt.setBounds(10, 71, 150, 30);
    getContentPane().add(regMaterijalaButt);


    JButton regIntervencijaButt = new JButton("Registar intervencija");
    regIntervencijaButt.setBounds(10, 131, 150, 30);
    getContentPane().add(regIntervencijaButt);


    JButton regDijagnozaButt = new JButton("Registar dijagnoza");
    regDijagnozaButt.setBounds(10, 191, 150, 30);
    getContentPane().add(regDijagnozaButt);


    JButton exitButt = new JButton("Zavrsetak rada");
    exitButt.setBounds(143, 232, 150, 30);
    getContentPane().add(exitButt);


    JButton evidencijaPacButt = new JButton("Evidencija pacijenata");
    evidencijaPacButt.setBounds(230, 11, 200, 30);
    getContentPane().add(evidencijaPacButt);


    JButton zakazivanjePacButt = new JButton("Zakazivanje pacijenata");
    zakazivanjePacButt.setBounds(230, 71, 200, 30);
    getContentPane().add(zakazivanjePacButt);


    JButton evidencijaStomatologaButt = new JButton("Evidencija stomatologa");
    evidencijaStomatologaButt.setBounds(230, 131, 200, 30);
    getContentPane().add(evidencijaStomatologaButt);


    JButton izvrseneUslugeButt = new JButton("Izvrsene usluge");
    izvrseneUslugeButt.setBounds(230, 191, 200, 30);
    getContentPane().add(izvrseneUslugeButt);


    thehandler handler = new thehandler();

    regUslugaButt.addActionListener(handler);
    regMaterijalaButt.addActionListener(handler);
    regIntervencijaButt.addActionListener(handler);
    regDijagnozaButt.addActionListener(handler);
    exitButt.addActionListener(handler);
    evidencijaPacButt.addActionListener(handler);
    zakazivanjePacButt.addActionListener(handler);
    evidencijaStomatologaButt.addActionListener(handler);
    izvrseneUslugeButt.addActionListener(handler);

}



public class thehandler implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {

        if(event.getSource() == regMaterijalaButt )
        {
            RegistarMaterijala regMat = new RegistarMaterijala();
        }

        if (event.getSource() == exitButt)
        {
            System.exit(0);

        }

    }
}

1 个答案:

答案 0 :(得分:2)

您按钮被定义两次,一次作为局部变量,一次作为实例变量

JButton regMaterijalaButt = new JButton("Registar materijala");

以上是将按钮定义为局部变量的位置

if(event.getSource() == regMaterijalaButt )

您的ActionListener正在引用实例变量。

您的代码应为:

//JButton regMaterijalaButt = new JButton("Registar materijala");
regMaterijalaButt = new JButton("Registar materijala");