如何解析字符串并将其获取到另一个 Jframe - JAVA



我正在尝试使用 JAVA 将字符串解析为另一帧

我有 2 个 jFrames。 jFrame1 有 1 个文本字段

,jFrame 2 有 1 个文本字段。 我想将 jFrame1 文本文件的文本解析为 jFrame2 的文本字段。

它看起来像这样: 但这不是代码:(

jFrame2.textfield1.setText(jFrame1.textfield1.gettext());

有人知道如何使用 JAVA 将字符串解析为另一个帧吗?

提前感谢!

假设您同时在屏幕上有两个单独的 GUI,因为两个 textFields 具有相同的引用,则每个 JFrame 本身就是一个对象。因此,访问另一个对象变量的唯一方法是使用其方法。在 jFrame2 中创建一个 setter 方法来更改有问题的 textField。请参阅下面的工作代码。

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

public class JframeLink {


    public static void main(String[] args) 
    {
        new JframeOneGui();
        new JframeTwoGui();
    }

    //JFrame one Object
    public static class JframeOneGui extends JFrame implements ActionListener
    {
        JPanel jPanelOne = new JPanel();
        JTextField textField1 = new JTextField("Message for transfer");
        JButton buttonOne = new JButton("Transfer");
        public JframeOneGui()
        {
            //setup swing components
            textField1.setSize(100,10);
            buttonOne.addActionListener(this);
            //setup jPanelOne
            jPanelOne.setLayout(new BoxLayout(jPanelOne, 1));
            jPanelOne.add(textField1);
            jPanelOne.add(buttonOne);
            //setup JframeOneGui
            this.add("Center",jPanelOne);
            this.setLocation(25,25);
            this.setTitle("JframeOneGui");
            this.setSize(200,200);
            this.setResizable(false);
            this.setVisible(true);
        }

        public void actionPerformed(ActionEvent e)
        {
            if(e.getSource() == buttonOne)
            {
                //Here we are calling JframeTwoGui's Setter method
                JframeTwoGui.setTextFieldOne(textField1.getText());
            }
        }   
    }
    //JFrame two Object
    public static class JframeTwoGui extends JFrame
    {
        JPanel jPanelOne = new JPanel();
        static JTextField textField1 = new JTextField();
        public JframeTwoGui()
        {

            jPanelOne.setLayout(new BoxLayout(jPanelOne, 1));
            jPanelOne.add(textField1);
            this.add("Center",jPanelOne);
            this.setLocation(300,25);
            this.setTitle("JframeTwoGui");
            this.setSize(200,200);
            this.setResizable(false);
            this.setVisible(true);
        }
        //Setter to change TextFieldOne in this Object
        public static void setTextFieldOne(String text)
        {
            textField1.setText(text);
        }
    }


}

最新更新