如何使从jdialog类创建的对象在另一个jdialog类别中使用



我创建了3个类TourAgency类、addTourAgency Jdialog类和addGuide Jdialog级

旅行社等级

public class TourAgency 
{
  ...
  public TourAgency() {
        this("Not set", "Not set");
    }
public TourAgency(String inAgencyName, String inAgencyLocation)
{
  setAgencyName(inAgencyName); 
  setAgencyLocation(inAgencyLocation); 
}

addTourAgency类(创建代理的代码)

public class addTAJD extends JDialog{
    ...
    private TourAgency ta1;
    okBtn.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae)
        {
                String name = nameTF.getText().trim();
                String location = locationTF.getText().trim();
                ta1 = new TourAgency(name, location);
                ...
                setVisible(false);
                JOptionPane.showMessageDialog(null, ta1.getAgencyName() + " is created");
        }
    });

addGuide类(检查代理是否丢失的代码部分)

public class AddNGuideJD extends JDialog{
    private JLabel name, idNumber, salary, extra;
    private JTextField nameTF, idNumberTF, salaryTF, extraTF;
    private JButton okBtn, resetBtn, cancelBtn;
    private Guide guide;
    private TourAgency ta1;
    okBtn.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent ae)
            {
                if(ta1 != null)
                {
                    ...
                }
                else
                {
                    JOptionPane.showMessageDialog(null, "Please add a Tour Agency to countinue");
                }
            }
        });

所以我的问题是,当我在addTourAgency类中创建旅行社时,我点击addGuide类中的on按钮,为什么它总是弹出消息说没有创建旅行社?(JOptionPane.showMessageDialog(null,"请将旅行社添加到countinue");)。我错过什么了吗?我如何使用我已经创建的对象?

使用getter和setter
在创建AgentyTour的JDialog中创建getAgencyTour函数,在下一个JDialog创建setAgencyTour函数以传递上一个函数的结果
此外,您还可以将从addTAJD创建的AgentyTour作为参数传递给AddNGuideJD 的构造函数

最新更新