java两个界面传递参数_java 两个窗体间的传值
时间: 2024-05-10 07:19:33 浏览: 16
Java中实现两个窗体间的数据传递可以通过构造函数、setter方法和接口回调实现。
1. 构造函数传值
假设有两个窗体A和B,需要将A中的数据传递给B,可以在B的构造函数中添加参数,将A中的数据传递给B。
在A中:
```java
public class A {
private String data;
private B b;
public A() {
b = new B(data);
}
}
```
在B中:
```java
public class B {
private String data;
public B(String data) {
this.data = data;
}
}
```
2. setter方法传值
如果A中的数据需要在B中动态改变,可以使用setter方法进行传值。
在A中:
```java
public class A {
private String data;
private B b;
public void setData(String data) {
this.data = data;
b.setData(data);
}
}
```
在B中:
```java
public class B {
private String data;
public void setData(String data) {
this.data = data;
}
}
```
3. 接口回调传值
在A中定义一个接口,B实现该接口,并将B的实例作为参数传递给A。当A中的数据发生变化时,调用接口中的方法通知B更新数据。
在A中:
```java
public interface DataChangeListener {
void onDataChange(String data);
}
public class A {
private String data;
private DataChangeListener listener;
public void setListener(DataChangeListener listener) {
this.listener = listener;
}
public void setData(String data) {
this.data = data;
if (listener != null) {
listener.onDataChange(data);
}
}
}
```
在B中:
```java
public class B implements DataChangeListener {
private String data;
@Override
public void onDataChange(String data) {
this.data = data;
}
}
```
通过以上三种方式,可以实现Java中两个窗体之间的数据传递。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)