Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse plugin SWT如何将数据从一页传输到另一页_Eclipse Plugin_Swt_Eclipse Rcp_Jface - Fatal编程技术网

Eclipse plugin SWT如何将数据从一页传输到另一页

Eclipse plugin SWT如何将数据从一页传输到另一页,eclipse-plugin,swt,eclipse-rcp,jface,Eclipse Plugin,Swt,Eclipse Rcp,Jface,我有一个名为PageOne的向导页面,其中有一个文本框,我想打印在PageOne文本框中输入的数据,以便在第二页中显示 我尝试将值保存在另一个对象中,并将该对象传递给PageTwo对象,然后他们尝试显示,我尝试发送pageOne对象本身。但在这两种情况下,它都打印为空。我相信这是打印出默认值,即加载页面时加载null 我如何处理这种情况 代码: 第一页: public void createControl(复合父级){ 容器=新的复合材料(母体,SWT.NONE); GridLayout=新的G

我有一个名为PageOne的向导页面,其中有一个文本框,我想打印在PageOne文本框中输入的数据,以便在第二页中显示

我尝试将值保存在另一个对象中,并将该对象传递给PageTwo对象,然后他们尝试显示,我尝试发送pageOne对象本身。但在这两种情况下,它都打印为空。我相信这是打印出默认值,即加载页面时加载null

我如何处理这种情况

代码:

第一页:

public void createControl(复合父级){
容器=新的复合材料(母体,SWT.NONE);
GridLayout=新的GridLayout();
容器。设置布局(布局);
layout.numColumns=2;
标签标签1=新标签(容器,SWT.NONE);
label1.setText(“在此处输入值”);
text1=新文本(容器,SWT.BORDER | SWT.SINGLE);
text1.setText(“”);
text1.addKeyListener(新的KeyListener(){
@凌驾
按下公共无效键(按键事件e){
}
@凌驾
公共无效密钥已释放(密钥事件e){
如果(!text1.getText().isEmpty()){
setPageComplete(真);
}
}
});
GridData gd=新的GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(gd);
setControl(集装箱);
setPageComplete(真);
}
第二页:

public class PageTwo扩展向导页{
私有文本text1;
专用复合容器;
私人文本文本2;
第一页第一页;
公共第二页(第一页第一页){
超级(“第二页”);
this.pageOne=pageOne;
片名(“第二页”);
setDescription(“假向导:第二页”);
}
公共void setText(文本){
this.text2=文本;
}
@凌驾
公共void createControl(复合父级){
容器=新的复合材料(母体,SWT.NONE);
GridLayout=新的GridLayout();
容器。设置布局(布局);
layout.numColumns=2;
标签标签1=新标签(容器,SWT.NONE);
字符串结果=”;
if(pageOne.getText()!=null){
结果=pageOne.getText().toString();
}
label1.setText(“在这里输入一个值。”+结果);
/*text1=新文本(容器,SWT.BORDER | SWT.SINGLE);
text1.setText(“”);
text1.addKeyListener(新的KeyListener(){
@凌驾
按下公共无效键(按键事件e){
}
@凌驾
公共无效密钥已释放(密钥事件e){
如果(!text1.getText().isEmpty()){
setPageComplete(真);
}
}
});
GridData gd=新的GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(gd)*/
setControl(集装箱);
setPageComplete(真);
}
公共字符串getText1(){
返回text1.getText();
}
}
更新

所作的修改:

在向导页面中:

public void addPages(){
super.addPages();
DataTransferObject dto=新的DataTransferObject();
添加页面(新的第一页(dto));
添加页面(新页面二(dto));
添加页面(新页面三();
}
DataTransferObject

公共类DataTransferObject{
字符串数据=null;
公共字符串getData(){
返回此.data;
}
公共void setData(字符串数据){
这个。数据=数据;
}
}
第一页:

公共类PageOne扩展向导页{
私有文本text1;
专用复合容器;
私有数据传输对象dto;
公共文本getText(){
返回此文件。text1;
}
公共第一页(DataTransferObject dto){
超级(“第一页”);
片名(“第一页”);
这个.dto=dto;
setDescription(“假向导:第一页”);
}
@凌驾
公共void createControl(复合父级){
容器=新的复合材料(母体,SWT.NONE);
GridLayout=新的GridLayout();
容器。设置布局(布局);
layout.numColumns=2;
标签标签1=新标签(容器,SWT.NONE);
label1.setText(“在此处输入值”);
text1=新文本(容器,SWT.BORDER | SWT.SINGLE);
text1.setText(“”);
text1.addKeyListener(新的KeyListener(){
@凌驾
按下公共无效键(按键事件e){
}
@凌驾
公共无效密钥已释放(密钥事件e){
如果(!text1.getText().isEmpty()){
setPageComplete(真);
}
}
});
GridData gd=新的GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(gd);
setControl(集装箱);
setPageComplete(真);
}
公共字符串getText1(){
返回text1.getText();
}
@凌驾
公共IWizardPage getNextPage(){
//TODO自动生成的方法存根
System.out.println(“数据是”+this.text1.getText().toString());
setData(this.text1.getText().toString());
返回super.getNextPage();
}
}
第二页:

public class PageTwo扩展向导页{
私有文本text1;
专用复合容器;
私人文本文本2;
第一页第一页;
数据传输对象dto;
公共页面2(DataTransferObject dto){
超级(“第二页”);
这个.dto=dto;
片名(“第二页”);
setDescription(“假向导:第二页”);
}
公共void setText(文本){
this.text2=文本;
}
@凌驾
公共void createControl(复合父级){
容器=新的复合材料(母体,SWT.NONE);
GridLayout=新的GridLayout();
容器。设置布局(布局);
layout.numColumns=2;
//标签标签1=新标签(容器,SWT.NONE);
字符串结果=”;
org.eclipse.swt.widgets.L