Java没有找到我班级的方法

时间:2015-07-14 19:24:44

标签: java

我已经看到类似的问题,答案并没有解决我的问题。

在下面的代码中,我可以创建一个BookCard对象并在其他类中调用它的getAuthorField方法,但我的IDE似乎并没有从需要的特定类中找到它它

package com.company;

import com.SourceTypeCards.BookCard;
import com.SourceTypeCards.FilmCard;

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

public class EditSourceDialog extends JDialog
{
    private JPanel contentPane;
    private JButton buttonOK;
    private JButton buttonCancel;
    private JComboBox<Enum> typeOfSourceComboBox;
    private JPanel cards;

    JTextField authorNameField = new JTextField(20);

    JPanel bookCard = new BookCard();
    JPanel filmCard = new FilmCard();

    ...

    private void onOK()
    {
        System.out.println(bookCard.getAuthorField()); //CANNOT RESOLVE METHOD

        dispose();
    }
}

为什么我的IDE /编译器在这个特定的EditSourceDialog类中找不到这个方法?

BookCard.java

package com.SourceTypeCards;

import javax.swing.*;

/**
 * Created by Trevor on 14/07/2015.
 */
public class BookCard extends MainCard
{
    JLabel authorLabel;
    JLabel editorsLabel;
    JLabel yearPublishedLabel;
    JLabel titleLabel;

    CardTextField authorField;
    JCheckBox editorsCheckBox;
    CardTextField yearPublishedField;
    CardTextField titleField;

    ...

    public String getAuthorField()
    {
        return authorField.getText();
    }
}

1 个答案:

答案 0 :(得分:2)

更改

JPanel bookCard = new BookCard();

BookCard bookCard = new BookCard();