java里两个jframe窗体怎么进行值传递?
我帮你写了一个简答的程序,你看一下就知道了,是通过构造函数来传递参数的,构造函数可以是有参数的,也可以是没有参数的
main.java:
public class main {
public static void main(String[] args) {
window win=new window();
}
}
window.java 登录界面
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class window extends JFrame implements ActionListener{
JTextField text=new JTextField(10);
JButton button=new JButton("确定");
JLabel label=new JLabel("帐号");
public window(){
init();
setBounds(500,200,200,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void init(){
setLayout(new FlowLayout());
add(label);
add(text);
add(button);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
String id=text.getText();
window2 win=new window2(id);//就是通过这个Id传进去的,window2里的构造函数的参数
}
}
window2.java 显示帐号的界面
import java.awt.FlowLayout;
import javax.swing.*;
public class window2 extends JFrame{
String id="";
JTextField text=new JTextField(10);
JLabel label=new JLabel("帐号");
public window2(String id){//带参数的构造函数
this.id=id;
init();
setBounds(600,200,200,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void init(){
setLayout(new FlowLayout());
add(label);
add(text);
//text.setEnabled(false);
text.setText(id);
}
}
运行结果:左边是登录界面,右边是显示的界面
大神 如果你能实现的话 求关键代码
这是你第一个窗体里的代码,new一个你想跳的那个窗体,然后把你要传的值当作参数传过去。
UpdateFrame updateFrame=new UpdateFrame(user);
updateFrame.setVisible(true);
下面是第二个窗体的构造函数,你要改成带参数的,而且如果你不需要弄main()方法的话,可以把mian()注释掉。
public UpdateFrame(User user) {
super();
initGUI(user);
}
main.java:
public class main {
public static void main(String[] args) {
window win=new window();
}
}
window.java
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class window extends JFrame implements ActionListener{
JTextField text=new JTextField(10);
JButton button=new JButton("确定");
JLabel label=new JLabel("帐号");
public window(){
init();
setBounds(500,200,200,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void init(){
setLayout(new FlowLayout());
add(label);
add(text);
add(button);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
String id=text.getText();
window2 win=new window2(id);//就是通过这个Id传进去的,window2里的构造函数的参数
}
}
window2.java
import java.awt.FlowLayout;
import javax.swing.*;
public class window2 extends JFrame{
String id="";
JTextField text=new JTextField(10);
JLabel label=new JLabel("帐号");
public window2(String id){//带参数的构造函数
this.id=id;
init();
setBounds(600,200,200,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void init(){
setLayout(new FlowLayout());
add(label);
add(text);
//text.setEnabled(false);
text.setText(id);
}
}