java swing 窗体之间怎么传值?
比如要将f窗体中textfield上的值,传到z窗体的textfield中!麻烦大侠写个简单的例子。小弟只有这么多分了...
比如要将 f 窗体中textfield上的值,传到z窗体的textfield中!麻烦大侠写个简单的例子。小弟只有这么多分了
展开
4个回答
展开全部
传递一个对象过去:
package org.somken;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Frame1 {
public static void main(String[] args) {
new FirstFrame().setVisible(true);
}
}
class FirstFrame extends JFrame{
JTextField name;
public FirstFrame() {
super("窗体之间数据传递");
this.setSize(330, 200);
this.setLayout(null);
this.setLocation(100, 50);
JLabel a=new JLabel("姓名:");
name=new JTextField("姓 名",10);
//按钮
JButton b=new JButton("传递");
//添加按钮事件
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
new SecondFrame(FirstFrame.this).setVisible(true);
FirstFrame.this.setVisible(false);
}
});
JPanel pane=new JPanel();
pane.add(a);
pane.add(name);
pane.add(b);
setContentPane(pane);
}
}
class SecondFrame extends JFrame{
public SecondFrame(FirstFrame frm) {
super("显示数据");
this.setSize(330, 200);
this.setLayout(null);
this.setLocation(100, 50);
JLabel a=new JLabel(frm.name.getText(),10);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel pane=new JPanel();
pane.add(a);
setContentPane(pane);
}
}
展开全部
定义全局变量就行了啊,在f窗体上把值赋给全局变量,然后在z窗体中使用即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
父子窗口之间通过一个数据对象联系,该对象属于父窗口,子窗口初始化时保存该对象引用
在子窗口的事件处理对象的函数里,先重子窗口控件取值,再赋予该数据对象的参数jDialog.fatherData.lostRate = Integer.valueOf(jDialog.jTextField.getText());
在子窗口的事件处理对象的函数里,先重子窗口控件取值,再赋予该数据对象的参数jDialog.fatherData.lostRate = Integer.valueOf(jDialog.jTextField.getText());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成public是最简单的,然后就可以直接访问了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询