Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将第一帧文本字段输入文本输出到第二帧文本区域_Java_User Interface_Swing - Fatal编程技术网

Java 如何将第一帧文本字段输入文本输出到第二帧文本区域

Java 如何将第一帧文本字段输入文本输出到第二帧文本区域,java,user-interface,swing,Java,User Interface,Swing,这是我的第一帧-我想去我输入文本字段示例名称文本,然后单击按钮报告将显示输出到第二帧使用文本区域。。。请帮帮我 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class Order extends JFrame implements ActionListener { private JPanel pInfo,pN, pIC,

这是我的第一帧-我想去我输入文本字段示例名称文本,然后单击按钮报告将显示输出到第二帧使用文本区域。。。请帮帮我

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;


public class Order extends JFrame implements ActionListener
{

    private JPanel pInfo,pN, pIC, pDate,Blank,pBlank, button, pTotal;

    private JLabel nameL,icL,DateL;

    private JTextField nameTF, icTF;

    private JFormattedTextField DateTF;

    private JButton calB,clearB,exitB,reportB;


    public Order()
    {
        Container contentPane = getContentPane();
        contentPane.setLayout(new BorderLayout());
        contentPane.setBackground(Color.gray);


          pInfo             = new JPanel();     

          pN                = new JPanel();
          pIC               = new JPanel();
          pDate             = new JPanel();


            nameTF      = new JTextField(30);
            icTF        = new JTextField(30);    
            DateTF      = new JFormattedTextField(
                                   java.util.Calendar.getInstance().getTime());
            DateTF.setEditable (false);
            DateTF.addActionListener(this);


        nameL      = new JLabel(" NAME : ",SwingConstants.RIGHT);
        icL        = new JLabel(" IC   :   ",SwingConstants.RIGHT);
        DateL      = new JLabel(" DATE :",SwingConstants.RIGHT);


        pInfo.setLayout(new GridLayout(10,2,5,5));

        pInfo.setBorder(BorderFactory.createTitledBorder
        (BorderFactory.createEtchedBorder(),"ORDER"));


        pN.add(nameL); 
        pN.add(nameTF);

        pIC.add(icL); 
        pIC.add(icTF);

        pDate.add(DateL);
        pDate.add(DateTF);


      pInfo.add(pN);
        pInfo.add(pIC);
        pInfo.add(pDate);


        pInfo.setBackground(Color.GRAY);

        pN.setBackground(Color.gray);    
        pIC.setBackground(Color.gray);
        pDate.setBackground(Color.gray);

        nameL.setForeground(Color.black); 
        icL.setForeground(Color.black); 
        DateL.setForeground(Color.black); 

        nameTF.setBackground(Color.pink);
        icTF.setBackground(Color.pink);
        DateTF.setBackground(Color.pink);


          contentPane.add(pInfo,BorderLayout.CENTER);



        Blank   = new JPanel();
        pBlank  = new JPanel();
        button  = new JPanel();

        calB = new JButton("CALCULATE");
        calB.setToolTipText("Click to calculate");

        clearB  = new JButton("RESET");
        clearB.setToolTipText("Click to clear");

            reportB = new JButton ("REPORT");
            reportB.setToolTipText ("Click to print");

        exitB   = new JButton("EXIT");
        exitB.setToolTipText("Click to exit");

        Blank.setLayout(new GridLayout(2,2));

        Blank.setBorder(BorderFactory.createTitledBorder
        (BorderFactory.createEtchedBorder(),""));

            button.setLayout(new GridLayout(1,4));

            button.add(calB,BorderLayout.WEST);
            button.add(clearB,BorderLayout.CENTER);
            button.add(reportB,BorderLayout.CENTER);
            button.add(exitB,BorderLayout.EAST);

            Blank.add(pBlank); 
            Blank.add(button);   

      contentPane.add(Blank,BorderLayout.SOUTH);    


        Blank.setBackground(Color.gray);
        pBlank.setBackground(Color.gray);

        calB.setForeground(Color.black);
        clearB.setForeground(Color.black);
        reportB.setForeground(Color.black);
        exitB.setForeground(Color.black);
        calB.setBackground(Color.pink);
        clearB.setBackground(Color.pink);
        reportB.setBackground(Color.pink);        
        exitB.setBackground(Color.pink);          


            calB.addActionListener(this);
            clearB.addActionListener(this);
            reportB.addActionListener(this);
            exitB.addActionListener(this);

        }


        public void actionPerformed(ActionEvent p)
        {

        if (p.getSource() == calB)
        {
        }   

    else if (p.getSource() == clearB)
    {
    }

    else if (p.getSource () == reportB)
    {

   }

    else if (p.getSource() == exitB)
        {
        }
}

    public static void main (String [] args)
        {

        Order frame = new Order();
        frame.setTitle("Order");
        frame.setSize(500,500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setVisible(true);
        frame.setLocationRelativeTo(null);//center the frame
    }
}

只需在第二帧中添加对第一帧的引用,或者在显示第二帧之前将感兴趣的值传递给第二帧

关于您请求的代码示例:

public class SecondFrame extends JFrame {
    private JFrame firstFrame;

    public SecondFrame(JFrame firstFrame) {
        this.firstFrame = firstFrame;
    }
}

现在,您可以通过对第一帧的内部引用来获取第一帧的所有内容。

只需在第二帧中添加对第一帧的引用,或者在显示第二帧之前将感兴趣的值传递给第二帧即可

关于您请求的代码示例:

public class SecondFrame extends JFrame {
    private JFrame firstFrame;

    public SecondFrame(JFrame firstFrame) {
        this.firstFrame = firstFrame;
    }
}

现在,您可以通过对第一帧的内部引用来获得从第一帧获得的所有内容。

如果您只有一个
字符串要传递,请将其添加到第二个
JFrame
的构造函数中:

public class SecondFrame extends JFrame {
    public SecondFrame(String someValueFromFirstFrame) {
        someTextField.setText(someValueFromFirstFrame);
    }
}
SecondFrame secondFrame = new SecondFrame(firstTextField.getText());
并在创建第二个
JFrame
时传递它:

public class SecondFrame extends JFrame {
    public SecondFrame(String someValueFromFirstFrame) {
        someTextField.setText(someValueFromFirstFrame);
    }
}
SecondFrame secondFrame = new SecondFrame(firstTextField.getText());


如果有不止一个属性要传递,请考虑将它们放在另一个类中并传递该类的实例。这样可以避免在每次需要传递附加变量时更改构造函数。

如果只有一个
字符串要传递,请将其添加到第二个
JFrame
的构造函数中:

public class SecondFrame extends JFrame {
    public SecondFrame(String someValueFromFirstFrame) {
        someTextField.setText(someValueFromFirstFrame);
    }
}
SecondFrame secondFrame = new SecondFrame(firstTextField.getText());
并在创建第二个
JFrame
时传递它:

public class SecondFrame extends JFrame {
    public SecondFrame(String someValueFromFirstFrame) {
        someTextField.setText(someValueFromFirstFrame);
    }
}
SecondFrame secondFrame = new SecondFrame(firstTextField.getText());

如果有不止一个属性要传递,请考虑将它们放在另一个类中并传递该类的实例。这样可以避免在每次需要传递附加变量时更改构造函数