Установить метод для новой кнопки java - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в java мире. У меня два вопроса. Я пытаюсь добавить кнопку, используя java, и я мог бы сделать это

Button btn=new Button(this); 
btn.setText("click me"); 

Но я определил метод, прежде чем вызывать loadthis ()

Public void loadthis() {
webView.loadUrl(xxx); 
} 

вопрос: Как мне связать метод с новой кнопкой? Есть ли способ, как (.setMethod) сделать это без повторного написания кодов метода?

второй вопрос: Как передать переменную, например строку, в метод? Как передача параметров в javascript.

большое спасибо

1 Ответ

1 голос
/ 16 апреля 2020

Вот ответ на ваш первый вопрос,

Как мне связать метод с новой кнопкой? есть ли способ (.setMethod) сделать это без повторной записи кодов метода?

Вы можете использовать .addActionListener() для запуска кода при нажатии вашей кнопки. Вы также можете использовать .addActionListener() в некоторых других Java компонентах окна для других целей.

в своем конструкторе

public Constructor() {
    Button b = new Button("b");
    // Links your method to the button.
    b.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent actionEvent) {
            // Called when button is pressed.
            System.out.println("Button pressed.");
        }
    });
}

или

public Constructor() {
    Button b = new Button("b"); // same as above
    b.addActionListener(this::function); // Use method reference instead.
    // other initialization...
}

// The argument in this function is required!
private void function(ActionEvent e) {
    // Called when button is pressed.
}

И ответ на другой вопрос:

Как передать переменную, например строку, в метод? Как и передача параметров в javascript.

Это зависит от того, что вы пытаетесь передать в функцию. Если это данные из другого компонента, лучше получить данные внутри функции и поместить их в переменную. По крайней мере, в классе, который вы используете, Java не позволяет передавать свои собственные аргументы функции, как тот, который используется здесь (ActionListener).

...