我无法弄清楚我在此代码中缺少的内容。它一直在说" ButtonListiner不是抽象的,并且不会在ActionListener中覆盖抽象方法actionPerformed(ActionEvent)。"但是我使用actionPerformed并且我已经在类和方法之上尝试了@Override并且它仍然无法正常工作。我的SubmitButtonListener类和我的ExitButtonListener类都是一样的。
package customerinserterproblem_alliebeckman;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import javafx.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class CustomerInserterProblem_AllieBeckman extends JFrame{
CustomerInfoPanel customerInfoPanel; // Panel for customer information
JPanel buttonPanel; // Panel for buttons
/**
* Constructor
*/
public CustomerInserterProblem_AllieBeckman()
{
// Set the window title
setTitle("Add Customer");
// Specify an action for the close button
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create a CustomerInfoPanelObject
customerInfoPanel = new CustomerInfoPanel();
// Build the buttonPanel object
buildButtonPanel();
// Add the panels to the content pane
add(customerInfoPanel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
// Pack and display the window
pack();
setVisible(true);
}
/**
* buildButtonPanel method
*/
private void buildButtonPanel()
{
// Create a panel for the buttons
buttonPanel = new JPanel();
// Create a submit button and add an action listener
JButton submitButton = new JButton("Submit");
submitButton.addActionListener(new SubmitButtonListener());
// Create an Exit button
JButton exitButton = new JButton("Exit");
exitButton.addActionListener(new ExitButtonListener());
// Add the buttons to the panel.
buttonPanel.add(submitButton);
buttonPanel.add(exitButton);
}
我的问题从这里开始>
/**
* Private inner class that handles submit button events
*/
private class SubmitButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e){
try
{
// Get the customer information from the text fields
String custNum = customerInfoPanel.getCustNum();
String name = customerInfoPanel.getName();
String address = customerInfoPanel.getAddress();
String city = customerInfoPanel.getCity();
String state = customerInfoPanel.getState();
String zip = customerInfoPanel.getZip();
// Create a CustomerTableManager object
CustomerTableManager ctManager = new CustomerTableManager();
// Insert the record
ctManager.insert(custNum, name, address, city, state, zip);
// clear the text fields
customerInfoPanel.clear();
// Let the user know the record was added.
JOptionPane.showMessageDialog(null, "Record Added");
}
catch (SQLException ex){
ex.printStackTrace();
System.exit(0);
}
}
}
在这里>
/**
* Private inner class that handles Exit Button events
*/
private class ExitButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e){
// Exit the app
System.exit(0);
}
}
/**
* main method
*/
public static void main(String[] args){
new CustomerInserterProblem_AllieBeckman();
}
}
提前感谢您的帮助。
答案 0 :(得分:1)
您需要正确检查已正确导入java.awt.event.ActionEvent
。
确保您没有错误地从ActionEvent
导入错误类型的some other package
。
当您使用IDE(如Eclipse / IntellliJ / etc ..)并意外地自动导入其他不需要的类型时,通常会出现此问题。