建立了两个JFrame在java swing当中,但是怎样在两个JFrame之间传递数据,比如说JFrame1里面的一个文本框得到的数据传递到JFrame2的一个文本框中并显示出来,怎样才能实现这个功能?
2条回答
- Dead_Knight 2013-04-26 20:17关注
写个简单的例子,供你参考吧。
[code="java"]
package test;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;public class TestJFrame extends JFrame{
private SecondJFrame second = new SecondJFrame();
public TestJFrame() {
this.setLayout(new BorderLayout());final JTextField text = new JTextField("first field"); this.add(text, BorderLayout.CENTER); JButton button = new JButton("改变另一个JFrame的值"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String first = text.getText(); second.changeTextValue(first); } }); this.add(button, BorderLayout.SOUTH); this.setSize(300, 100); this.setLocation(200, 200); this.setVisible(true); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } /** * @param args */ public static void main(String[] args) { new TestJFrame(); }
}
class SecondJFrame extends JFrame {
JTextField text = new JTextField("second field");
public SecondJFrame() {
this.setLayout(new BorderLayout());
this.add(text, BorderLayout.CENTER);
this.setSize(200, 100);
this.setVisible(true);
}public void changeTextValue(String newValue) { text.setText(newValue); }
}
[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!