java 传值 两个窗口
比如A窗口里有个intx=1;然后通过A窗口里的一个按钮,用newB(),打开了B窗口,那B窗口里的intx怎么样才能接收到A窗口里那个x的值呢?就是怎么样才能把A窗口里...
比如 A窗口里有个int x =1; 然后通过A窗口里的一个按钮,用new B(),打开了B窗口,那B窗口里的int x 怎么样才能接收到A窗口里那个x的值呢?就是怎么样才能把A窗口里的x的值传给B窗口里的x?
展开
3个回答
展开全部
下面的代码演示了两种方法传递x值到 B 窗口中,一种是通过 B 的构造方法,一种是通过 B 中的 x 的 setter 传递。
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
class A extends JFrame {
private int x = 10;
public A() {
this.setTitle("A");
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
JButton button = new JButton("Open B");
button.addActionListener(e -> {
// 通构造方法传递
B b = new B(this.x);
// 通过 setter 方法传递
b.setX(x);
b.setVisible(true);
});
this.add(button);
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
}
class B extends JFrame {
private int x;
public B(int x) {
this.setTitle("B");
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setLayout(new FlowLayout());
this.x = x;
JButton button = new JButton("显示x的值");
button.addActionListener(e -> {
JOptionPane.showMessageDialog(this, x);
});
this.add(button);
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
}
public class App {
public static void main(String[] args) {
new A().setVisible(true);
}
}
展开全部
B窗口的构造函数里增加参数啊
class B
{
private int x;
public B(int x)
{
this.x=x;
}
}
然后new B()的时候传入参数啊。即 new B(x)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接发给B就是了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询