【问题标题】:how do i get a object that has been created from a jdialog class to be use in another jdialog class如何获取从 jdialog 类创建的对象以在另一个 jdialog 类中使用
【发布时间】:2015-04-07 17:55:29
【问题描述】:

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

TourAgency 类

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, "Please add a Tour Agency to countinue");)。我错过了什么吗?我如何使用我已经创建的对象?

【问题讨论】:

    标签: java class methods actionlistener jdialog


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      相关资源
      最近更新 更多