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

时间:2019-03-02 19:45:32

标签: java string swing selenium user-interface

在Java中,我使用jtexfield和jbutton构建了一个名为dashboard.java的GUI类,jbutton的操作是从jtexfield获取文本并将其存储在字符串中。但是我还有一个名为testbot.java的java类,它是一个脚本,需要使用字符串,但是我还没有找到一种将字符串从仪表板.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");

    }

1 个答案:

答案 0 :(得分:1)

首先,将您的关注点分开:您的鼠标侦听器方法不应包含太多代码。相反,您应该编写将所需信息“拉”在一起的辅助方法。理想情况下,您不会只保留10个不同的变量,而是通过定义代表用户,地址等内容的类来开始。然后您遍历这些类的实例。

“如何传递”归结为:通过传递一些东西!

换句话说:您的方法jButtonSaveMouseClicked()存在于拥有所有这些UI元素(可能是JFrame之类)的类中。该类也可以具有该类TestBot的字段。然后,您只要需要就可以在另一个类上调用方法。您会看到,框架知道其他对象,例如jTextFirstname。这样就可以在该对象上调用方法。您的测试机器人不会有什么不同。

再进一步:您的方法听起来是错误的。您的用户界面应该知道周围存在一个“测试机器人”,它可能是 test 用户界面本身。更为“真实的世界”解决方案的工作原理有所不同:您要通知其他特定类的类(该TestBot)应该允许注册侦听器。然后,测试机器人可以将自己注册到仪表板,并且只要仪表板需要,它就可以将其某些更改通知给其侦听器。

换句话说:避免“要测试的东西”取决于“测试者”。反之亦然。