Почему я получаю сообщение об ошибке при попытке добавить слушатель действия к кнопке? - PullRequest
0 голосов
/ 12 октября 2010

Извините, в последней программе было много ошибок (я забыл сохранить файл и, следовательно, опубликовал неполный код), поэтому я публикую это

Вот код:

import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class GUIPreparedStatement {
    private JFrame frame1;
    private JPanel panel1;
    private JTextField tf1;
    private JTextField tf2;
    private JButton b1;
    public JLabel lb1;
    PreparedStatement ps;

    GUIPreparedStatement() {
        frame1 = new JFrame();
        panel1 = new JPanel();
        tf1 = new JTextField(10);
        tf2 = new JTextField(10);
        b1 = new JButton("Enter Record");
        lb1 = new JLabel("Press the Button");

        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:Employees");
            ps = con.prepareStatement("INSERT INTO Employees VALUES(?,?)");
        } catch(SQLException e) {
            lb1.setText("SQL Statement not executed");
        } catch(Exception e) {
            lb1.setText("General Error");
        }

        b1.addActionListener(this);

        panel1.add(tf1);
        panel1.add(tf2);
        panel1.add(b1);
        panel1.add(lb1);

        Container contentPane = frame1.getContentPane();
        contentPane.add(panel1);

        frame1.setDefaultCloseOperation(frame1.EXIT_ON_CLOSE);
        frame1.setVisible(true);
        frame1.pack();
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == b1) {
            try {
                ps.setString(1,tf1.getText());
                ps.setString(2,tf2.getText());
                ps.executeUpdate();
            } catch (SQLException f) {
                lb1.setText("SQL Record not Entered");
            }       
        }
    }

    public static void main (String args[]) {
        new GUIPreparedStatement();
    }
}

Ошибка в коде:

http://screensnapr.com/u/nx5t1r.png

Ответы [ 2 ]

2 голосов
/ 12 октября 2010

Чтобы ответить на ваш сильно отредактированный вопрос, ваш GUIPreparedStatment должен реализовать интерфейс ActionListener.

public class GUIPreparedStatement implements ActionListener

Хотя вы уже реализовали actionPerformed(ActionEvent e), вы не объявили компилятору, что вы сделали эточтобы выполнить контракт интерфейса.

0 голосов
/ 12 октября 2010

Некоторые из ваших ошибок связаны со строками кода, которые вы не опубликовали.

РЕДАКТИРОВАТЬ: Исправлены неверные предположения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...