java里两个jframe窗体怎么进行值传递?

窗体A是一个登录界面,需要输入账号密码(数据都在数据库中)。想在窗体B中的一个文本框(也可以是标签)里自动取得窗体A的账号,账号可以根据数据库里改变。求解!!... 窗体A是一个登录界面,需要输入账号密码(数据都在数据库中)。想在窗体B中的一个文本框(也可以是标签)里自动取得窗体A的账号,账号可以根据数据库里改变。求解!! 展开
 我来答
亡灵天使12608
2012-11-29
知道答主
回答量:13
采纳率:0%
帮助的人:21.8万
展开全部

我帮你写了一个简答的程序,你看一下就知道了,是通过构造函数来传递参数的,构造函数可以是有参数的,也可以是没有参数的

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);

 }

}

运行结果:左边是登录界面,右边是显示的界面

百度网友cfdab4ae20
2012-11-29 · 超过10用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:30.6万
展开全部
可以在跳窗体B的时候,通过构造方法,把帐号密码传过去。
追问
大神   如果你能实现的话   求关键代码
追答
这是你第一个窗体里的代码,new一个你想跳的那个窗体,然后把你要传的值当作参数传过去。
UpdateFrame updateFrame=new UpdateFrame(user);
updateFrame.setVisible(true);
下面是第二个窗体的构造函数,你要改成带参数的,而且如果你不需要弄main()方法的话,可以把mian()注释掉。
public UpdateFrame(User user) {
super();
initGUI(user);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大号宁采臣
2012-11-29 · TA获得超过121个赞
知道答主
回答量:103
采纳率:0%
帮助的人:47.8万
展开全部
在窗体B中设置一个字段存放窗体A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友310bdd2
2012-11-29
知道答主
回答量:30
采纳率:0%
帮助的人:25.8万
展开全部
我帮你写了一个简答的程序,你看一下就知道了
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);
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中国青春心
2012-11-29 · TA获得超过4637个赞
知道小有建树答主
回答量:1966
采纳率:83%
帮助的人:566万
展开全部
正常生成对象构造方法传递呗.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式