2011-03-29 28 views
0

我在這行得到這個錯誤:錯誤:無法解析爲一個類型

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); 
} 
} 
+1

你可以發佈你的合同班嗎? – RoflcoptrException 2011-03-29 11:50:36

+1

我沒有看到你導入承包商類... – Erik 2011-03-29 11:52:13

+0

@Erik他也沒有導入客戶。所以我認爲它是在同一個包裏? – RoflcoptrException 2011-03-29 11:53:50

回答

2

通常這是一個進口的問題。如果您使用的是優秀的IDE(即Eclipse或的IntelliJ)也將導入你需要的,如果你問它的一切。)

Foo cannot be resolved to a type

+0

@ user381091:我正在使用Eclipse。我插入了所需的導入,並且出現如下錯誤:線程「main」中的異常java.lang.Error:未解決的編譯問題: – Mike 2011-03-29 13:00:10

+0

代碼中會有一些標記爲紅色的東西,它會導致編譯失敗。你需要解決這個問題。如果這是不編譯的導入,那麼你的項目類路徑是錯誤的。也就是說,您嘗試導入的文件不在您的類路徑中。 – Speck 2011-03-29 13:28:41

+0

導入時沒有錯誤。上述代碼中的錯誤出現在「承包商」一詞中。 – Mike 2011-03-29 13:52:48

0

我在/目標文件夾中刪除一切,它爲我工作。

相關問題