我如何获取从 jdialog class 创建的对象以用于另一个 jdialog class
how do i get a object that has been created from a jdialog class to be use in another jdialog class
我已经创建了 3 个 classes TourAgency class、addTourAgency Jdialog class 和 addGuide Jdialog class
旅行社class
public class TourAgency
{
...
public TourAgency() {
this("Not set", "Not set");
}
public TourAgency(String inAgencyName, String inAgencyLocation)
{
setAgencyName(inAgencyName);
setAgencyLocation(inAgencyLocation);
}
addTourAgency class(创建代理的代码)
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");
}
});
addGuideclass(检查代理是否缺失的部分代码)
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 class 中创建旅行社并单击 addGuide class 中的打开按钮时,为什么它总是弹出消息说旅行社未创建?((JOptionPane.showMessageDialog(null, "Please add a Tour Agency to countinue");)。我错过了什么吗?我如何使用我已经创建的对象?
使用 getter 和 setter。
在您创建 AgencyTour 的 JDialog 中创建一个 getAgencyTour
函数,并在下一个 JDialog 中创建一个 setAgencyTour
函数来传递前一个函数的结果。
您还可以将 addTAJD
创建的 AgencyTour 作为参数传递给 AddNGuideJD
的构造函数
我已经创建了 3 个 classes TourAgency class、addTourAgency Jdialog class 和 addGuide Jdialog class
旅行社class
public class TourAgency
{
...
public TourAgency() {
this("Not set", "Not set");
}
public TourAgency(String inAgencyName, String inAgencyLocation)
{
setAgencyName(inAgencyName);
setAgencyLocation(inAgencyLocation);
}
addTourAgency class(创建代理的代码)
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");
}
});
addGuideclass(检查代理是否缺失的部分代码)
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 class 中创建旅行社并单击 addGuide class 中的打开按钮时,为什么它总是弹出消息说旅行社未创建?((JOptionPane.showMessageDialog(null, "Please add a Tour Agency to countinue");)。我错过了什么吗?我如何使用我已经创建的对象?
使用 getter 和 setter。
在您创建 AgencyTour 的 JDialog 中创建一个 getAgencyTour
函数,并在下一个 JDialog 中创建一个 setAgencyTour
函数来传递前一个函数的结果。
您还可以将 addTAJD
创建的 AgencyTour 作为参数传递给 AddNGuideJD