Java 如何通过按钮操作将字符串传递给类

Java 如何通过按钮操作将字符串传递给类,java,string,swing,selenium,user-interface,Java,String,Swing,Selenium,User Interface,在Java中,我用jtexfield和jbutton构建了一个名为dashboard.Java的GUI类,jbutton的操作是从jtexfield获取文本并存储在字符串中。但是我有另一个java类testbot.java,它是一个脚本,需要使用字符串,但是我还没有找到一种方法将字符串从dashboard.java传递到testbot.java。我已经搜索过了,但没有找到传递字符串的问题的答案。下面是我的类dashboard.java中的代码如何存储jbutton事件,但我同样希望它也将字符串发

在Java中,我用jtexfield和jbutton构建了一个名为dashboard.Java的GUI类,jbutton的操作是从jtexfield获取文本并存储在字符串中。但是我有另一个java类testbot.java,它是一个脚本,需要使用字符串,但是我还没有找到一种方法将字符串从dashboard.java传递到testbot.java。我已经搜索过了,但没有找到传递字符串的问题的答案。下面是我的类dashboard.java中的代码如何存储jbutton事件,但我同样希望它也将字符串发送到testbot.java类,以便我可以在那里使用它

private void jButtonSaveMouseClicked(java.awt.event.MouseEvent evt) {                                         
       // String profile;
        String Fname;
        String Sname;

        String email;
        String Phone;

        String address1;
        String address2;
        String zip;
        String City;
        String Country;

        String Creditcard;
        String CVV;
        String Year;
        String Month;
        String Type;


        Fname=jTextFirstname.getText();
        Sname=jTextSecondname.getText();

        email=jTextEmail.getText();
        Phone=jTextPhonenumber.getText();

        address1=jTextAddress1.getText();
        address2=jTextAddress2.getText();
        zip=jTextZipcode.getText();
        City=jTextCity.getText();
        Country=(String) jCombocuntry.getSelectedItem();
        Creditcard=jTextcreditnumber.getText();
        CVV=jTextCVV.getText();
        Year=(String) jComboYear.getSelectedItem();
        Month=(String) jCombomonth.getSelectedItem();
        Type=(String) jComboBox2.getSelectedItem();


        //String sprofile;
        //sprofile=jComboBox5.insertItemAt()

        //System.out.println(Type); tested combobox val sen print

             //knappen kmr ta info
             jLabel12.setText("saved");

    }

首先,分离您的关注点:您的鼠标侦听器方法不应该包含这么多代码。相反,您应该编写将所需信息汇集在一起的助手方法。理想情况下,您不需要只保留10个不同的变量,而是从定义表示用户、地址等的类开始。然后传递这些类的实例

而如何传递,归结起来就是:有东西要传递

换句话说:您的方法jButtonSaveMouseClicked存在于一个拥有所有这些UI元素的类中,可能是一个JFrame或其他东西。该类还可以具有该类TestBot的字段。然后只要在需要时调用另一个类上的方法。你看,你的框架知道其他对象,比如jTextFirstname。它允许您对该对象调用方法。你的测试机器人也一样

更进一步:你的方法听起来是错误的。您的UI不应该知道周围有一个测试机器人,它可能是用来测试UI本身的。更真实的解决方案的工作方式不同:您想要通知TestBot应该允许注册监听器的其他特定类的类。然后testbot可以将自己注册到仪表板,并且只要仪表板愿意,它就可以通知其侦听器一些更改


换言之:避免将要测试的东西依赖于测试人员。它应该反过来工作。

您的意思是我应该为dashboard.java类创建另一个要存储的类,然后testbot.java将从那里读取吗?很抱歉,我还不擅长编程。为了更好,请尽快发布帮助。