yanxin159 2017-03-06 10:57 采纳率: 10%
浏览 2205

java窗体之间怎么传值

java窗体之间怎么传值,在房山窗口点击添加,然后在另一个表格窗口中显示,有没有比较简单的方法,该怎么做,求指点,谢谢~

  • 写回答

3条回答

  • qq3045528107 2017-03-06 11:05
    关注

    在第一个窗体里面写毁掉函数方法。然后在弹出B窗口中加A窗口应用。B窗口中树中子节点加监听方法。

    以下为测试样例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    package org.test;
    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);
    }
    });
    JPanel pane = new JPanel();
    pane.add(a);
    pane.add(name);
    pane.add(b);
    setContentPane(pane);
    }

    public void setNameValue(String valueString){
    name.setText(valueString);
    }
    }
    class SecondFrame extends JFrame {
    public SecondFrame(final FirstFrame frm) {
    super("显示数据");
    this.setSize(330, 200);
    this.setLayout(null);
    this.setLocation(100, 50);
    JLabel a = new JLabel(frm.name.getText(), 10);
    JLabel c = new JLabel("姓名2:");
    final JTextField name2 = new JTextField("姓 名2", 10);
    JButton b = new JButton("回传");
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    // 添加按钮事件
    b.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent arg0) {
    frm.setNameValue(name2.getText());
    }
    });
    JPanel pane = new JPanel();
    pane.add(a);
    pane.add(c);
    pane.add(name2);
    pane.add(b);
    setContentPane(pane);
    }
    }更多的Java问题可以加Q3066918797咨询

    评论

报告相同问题?

悬赏问题

  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况