swing两个窗体传值有关问题
swing两个窗体传值问题?
最近在学习swing,可视化界面开发。用的是myeclipse 10的matisse4插件。我有个主窗体和一个子窗体。
通过点击主窗体的按钮来打开子窗体,子窗体中获取当前时间。点击子窗体确定后把值传到主窗体的JTextArea中。隐藏子窗体。研究了好几天了没弄出来。请教做过的朋友帮忙给个例子。实在是困扰好久了。
------解决方案--------------------
你是要分成两个类吗?
最近在学习swing,可视化界面开发。用的是myeclipse 10的matisse4插件。我有个主窗体和一个子窗体。
通过点击主窗体的按钮来打开子窗体,子窗体中获取当前时间。点击子窗体确定后把值传到主窗体的JTextArea中。隐藏子窗体。研究了好几天了没弄出来。请教做过的朋友帮忙给个例子。实在是困扰好久了。
------解决方案--------------------
你是要分成两个类吗?
- Java code
package com.zf.ui; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextArea; /** * 主窗口 * @author zhoufeng * */ public class MainFrame { JFrame frame = null ; JTextArea text = null; JButton button = null; public void init(){ frame = new JFrame("主窗口"); frame.setBounds(500, 250, 500, 300); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); text = new JTextArea(); text.setSize(100, 50 ); text.setText("这里将会显示时间!"); frame.add(text , BorderLayout.NORTH); button = new JButton("打开子窗口"); frame.add(button , BorderLayout.SOUTH); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("点击了。"); new ChildFrame(MainFrame.this); } }); } public static void main(String[] args) { new MainFrame().init(); } } /** * 子窗口 * @author zhoufeng * */ class ChildFrame{ MainFrame mainFrame = null; JFrame frame = null; JButton button = null; public ChildFrame(final MainFrame mainFrame){ frame = new JFrame("子窗口"); frame.setBounds(500, 250, 300, 150); frame.setVisible(true); button = new JButton("为主窗口中的文本域赋值"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { mainFrame.text.setText(new Date().toLocaleString()); frame.setVisible(false); } }); frame.add(button , BorderLayout.NORTH); } }
------解决方案--------------------