как передать строку в класс с помощью действия кнопки - PullRequest
0 голосов
/ 02 марта 2019

В Java я создал класс GUI с именем dashboard.java с jtexfield и jbutton, действие для 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");

    }

1 Ответ

0 голосов
/ 02 марта 2019

Прежде всего, разделите ваши проблемы: ваш метод слушателя мыши не должен содержать так много кода.Вместо этого вы должны написать вспомогательные методы, которые «собирают» необходимую информацию.И в идеале вы не должны хранить только 10 различных переменных, вы начинаете , определяя классы, которые представляют пользователя, адрес и тому подобное.И затем вы обмениваетесь экземплярами этих классов.

И «как пройти дальше» сводится к: имея что-то передать!

Другими словами: ваш метод jButtonSaveMouseClicked()существует в классе, который владеет всеми этими элементами пользовательского интерфейса (вероятно, JFrame или что-то).Этот класс также может иметь поле этого класса TestBot.А затем вы просто вызываете методы этого другого класса, когда вам это нужно.Видите ли, ваш фрейм знает о других объектах, таких как jTextFirstname.Это позволяет вам вызывать методы для этих объектов.Ваш тестовый бот не будет отличаться от этого.

Идем еще дальше: ваш подход звучит неправильно.Ваш пользовательский интерфейс должен не знать, что вокруг него есть "тестовый бот", который, вероятно, существует для тестирования самого пользовательского интерфейса.Более «реальное» решение работает иначе: тот класс, о котором вы хотите уведомить определенный другой класс (этот TestBot), должен вместо этого разрешить регистрировать listeners .Затем тест-бот может зарегистрировать себя от до панели мониторинга, и когда панель мониторинга захочет, она может уведомить своего слушателя о некоторых изменениях.

Другими словами: избегайте того, чтобы «вещь, которую нужно проверить», зависела от «тестера».Это должно работать наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...