我在此行收到此错误:
private List<Contractor> contractors = new ArrayList<Contractor>();
它说承包商无法解决某种类型。现在我在这里做的是我有一个客户类。我还需要创建一个与客户类完全相同的承包商类。所以我复制了客户类中的所有内容并创建了承包商类。然后我在下面的代码中添加了一些我认为对于客户类来说相同的东西,但是出了点问题。
public class SwimCalc extends JFrame implements ActionListener {
private JTabbedPane jtabbedPane;
private JPanel Customers;
private JPanel Contractors;
private List<Customer> customers = new ArrayList<Customer>();
// this fails
private List<Contractor> contractors = new ArrayList<Contractor>();
JTextArea NameTextCustomers, ExistTextCustomers, MessageTextCustomers,
NameTextContractors, ExistTextContractors, MessageTextContractors;
JTextField lengthTextPool, widthTextPool, depthTextPool, volumeTextPool;
public SwimCalc() {
setTitle("Volume Calculator");
setSize (300, 200);
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
getContentPane().add( topPanel );
createCustomers();
createContractors();
jtabbedPane = new JTabbedPane();
jtabbedPane.addTab("Customer", Customers);
topPanel.add(jtabbedPane, BorderLayout.CENTER);
}
}
这是承包商类
public JPanel createContractors(){
Contractors = new JPanel();
Contractors.setLayout(null);
NameTextContractors = new JTextArea("Select Add Contractor to Add Contractor." +
"\nSelect Refresh to Refresh This Pane.");
NameTextContractors.setLineWrap(true);
NameTextContractors.setBounds(10, 10, 390, 150);
Contractors.add(NameTextContractors);
JButton Exit = new JButton("Exit");
Exit.setBounds(30,170,80,20);
Exit.addActionListener(this);
Exit.setBackground(Color.white);
Contractors.add(Exit);
JButton AddContractors = new JButton("Add Contractor");
AddContractors.setBounds(130,170,120,20);
AddContractors.setBackground(Color.white);
Contractors.add(AddContractors);
JButton Refresh = new JButton("Refresh");
Refresh.setBounds(260,170,80,20);
Refresh.setBackground(Color.white);
Contractors.add(Refresh);
ExistTextContractors = new JTextArea("File Contractor.txt does not exist yet." +
"\nIt will be created when you add Contractor.");
ExistTextContractors.setBounds(10, 200, 390, 60);
ExistTextContractors.setLineWrap(true);
Contractors.add(ExistTextContractors);
final JTextArea contArea = new JTextArea(6, 30);
final JTextArea ExistTextContractors;
ExistTextContractors = new JTextArea(2, 30);
ExistTextContractors.setLineWrap(true);
ExistTextContractors.setWrapStyleWord(true);
AddContractors.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
new Contractor("Contractor", SwimCalc.this);
}
});
Contractors.add(contArea);
Contractors.add(AddContractors);
Contractors.add(Refresh);
Refresh.setMnemonic('R');
Refresh.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
NameTextContractors.setText ("");
try{
File contOpen = new File("Contractor.txt");
FileReader contAreaIn = new FileReader(contOpen);
contArea.read(contAreaIn, contOpen.getAbsolutePath());
ExistTextContractors.setText("File exists and can be read.");
}
catch (IOException e3){
ExistTextContractors.setText("The file could not be read." + e3.getMessage());
}
}
}
);
return Contractors;
}
class Contractor extends JFrame
{
private String[] states = {"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE",
"FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME",
"MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD",
"TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"};
private JComboBox StateList = new JComboBox(states);
private JTextField NameText = new JTextField(25);
private JTextField AddressText = new JTextField(25);
private JTextField CityText = new JTextField(25);
private JTextField ZipText = new JTextField(9);
private JTextField PhoneText = new JTextField(10);
private JTextField MessageTextContractors = new JTextField(30);
private static final long serialVersionUID = 1L;
private AddContButtonHandler addConHandler = new AddContButtonHandler();
private SwimCalc parent;
public Contractor(String who, SwimCalc _parent) {
popUpWindow (who);
parent = _parent;
}
public void popUpWindow(final String who) {
final JFrame popWindow;
popWindow = new JFrame(who);
popWindow.setSize(425, 350);
popWindow.setLocation(100, 100);
popWindow.setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container c = new Container();
popWindow.add(c);
c.setLayout(new FlowLayout());
JPanel one = new JPanel();
JPanel two = new JPanel();
JPanel three = new JPanel();
JPanel four = new JPanel();
JPanel five = new JPanel();
JPanel six = new JPanel();
one.add(new JLabel(who + " Name "));
one.add(NameText);
two.add(new JLabel("Address "));
two.add(AddressText);
three.add(new JLabel("City "));
three.add(CityText);
four.add(new JLabel("State "));
StateList.setSelectedIndex(0);
four.add(StateList);
four.add(new JLabel("ZIP"));
four.add(ZipText);
four.add(new JLabel("Phone"));
four.add(PhoneText);
JButton addwho = new JButton("Add " + who);
addwho.setMnemonic('A');
JButton close = new JButton("Exit");
close.setMnemonic('C');
JButton deleteFile = new JButton("Delete File");
deleteFile.setMnemonic('D');
five.add(addwho);
five.add(close);
five.add(deleteFile);
MessageTextContractors.setEditable(false);
MessageTextContractors.setHorizontalAlignment(JTextField.CENTER);
six.add(MessageTextContractors);
c.add(one);
c.add(two);
c.add(three);
c.add(four);
c.add(five);
c.add(six);
deleteFile.setToolTipText("Delete File");
addwho.setToolTipText("Add "+ who);
close.setToolTipText("Exit");
if (who == "Contractor")
addwho.addActionListener(addConHandler);
close.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
NameText.setText("");
AddressText.setText("");
CityText.setText("");
ZipText.setText("");
PhoneText.setText("");
MessageTextContractors.setText("");
popWindow.dispose();
}
}
);
deleteFile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
MessageTextContractors
.setText("");
if (who.equals("Contractor")) {
File file = new File("Contractor.txt");
boolean conFileDeleted = file.delete();
if (conFileDeleted) {
MessageTextContractors
.setText("Contractor file has been deleted");
} else {
MessageTextContractors
.setText("There was an error in deleting file");
}
}
}
}
);
}
class AddContButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent addConHandler) {
int StateIndex;
try {
File file = new File("Contractor.txt");
StringBuilder sb = new StringBuilder();
boolean success = file.createNewFile();
if (success) {
MessageTextContractors
.setText("Contractor.txt file created file added");
} else if (file.canWrite()) {
MessageTextContractors
.setText("Writing data to Contractor.txt, file added");
} else {
MessageTextContractors.setText("Cannot create file: Contractor.txt");
}
try {
FileWriter fileW = new FileWriter("Contractor.txt", true);
sb.append(NameText.getText());
sb.append("\n");
sb.append(AddressText.getText());
sb.append("\n");
sb.append(CityText.getText());
sb.append("\n");
StateIndex = StateList.getSelectedIndex();
sb.append(states[StateIndex]);
sb.append("\n");
sb.append(ZipText.getText());
sb.append("\n");
sb.append(PhoneText.getText());
sb.append("\r\n");
fileW.write(sb.toString());
parent.setField(sb.toString());
fileW.close();
MessageTextContractors.setText("A new Contractor has been added!");
ExistTextContractors.setText ("File Contractor.txt exists and can be read from!");
FileReader fileR = new FileReader("Contractor.txt");
BufferedReader buffIn = new BufferedReader(fileR);
String textData = buffIn.readLine();
buffIn.close();
}
catch (IOException e1) {
JOptionPane.showMessageDialog(null, e1.getMessage(), "ERROR", 2);
}
NameText.setText("");
AddressText.setText("");
CityText.setText("");
ZipText.setText("");
PhoneText.setText("");
}
catch (IOException e1) {
}
}
}
public void actionPerformed(ActionEvent event){
}
private void Exit_pressed(){
System.exit(0);
}
}
答案 0 :(得分:2)
通常这是一个导入问题。如果您正在使用一个好的IDE(即Eclipse或Intellij),它将导入您需要的所有内容。)
答案 1 :(得分:0)
我删除了/ target文件夹中的所有内容,但它对我有效。