Как программно нажать кнопку при помощи java?

Пользователь

от sylvester , в категории: Java , 5 месяцев назад

Как программно нажать кнопку при помощи java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от gage , 5 месяцев назад

@sylvester 

В Java есть несколько способов программно нажать кнопку. В зависимости от типа кнопки, используется разный подход. Вот несколько примеров:

  1. Swing:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import java.awt.Robot;
import java.awt.event.InputEvent;

public class ButtonClicker {
    public static void main(String[] args) throws Exception {
        Robot robot = new Robot();
        robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
        robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
    }
}


  1. JavaFX:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;

public class ButtonClicker extends Application {
    @Override
    public void start(Stage stage) {
        Button button = new Button("Нажать");
        button.addEventFilter(MouseEvent.MOUSE_CLICKED, e -> {
            // Здесь можно добавить обработчик клика на кнопку
        });

        // Нажатие кнопки программно
        button.fire();
        
        Scene scene = new Scene(button);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}


  1. Android:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = findViewById(R.id.button);

        // Нажатие кнопки программно
        button.performClick();

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Здесь можно добавить обработчик клика на кнопку
            }
        });
    }
}


Это лишь некоторые примеры, и способ может отличаться в зависимости от конкретной среды разработки или библиотеки, которую вы используете.