Java: имитировать нажатия клавиш при щелчке мышью? - PullRequest
0 голосов
/ 27 мая 2018

Итак, я довольно новичок в программировании, и мне нравится возиться с ним, и однажды мой друг попросил меня создать программу, в которой при нажатии клавиши «ctrl» и «s» будут «нажиматься».Я просмотрел множество форумов, пытаясь создать функциональный код, но, поскольку я новичок в Java, я получил только отдельные куски кода и собрал их все вместе.

Мой код выглядит так:

import java.awt.event.MouseEvent;  
import java.awt.*;  
import java.awt.event.*;  
import java.awt.Robot;   
import java.util.Scanner;

public class MyClass {  
    public static void main(String args[]) {  
        Scanner keyboard = new Scanner(System.in);  
        System.out.println("press any key to exit.");  
        keyboard.next();
        System.exit(0);
    }  
    public void mouseClicked(MouseEvent evt) {  
        try {  
            Robot robot = new Robot();  
            // Simulate a key press  
            robot.keyPress(KeyEvent.VK_CONTROL);  
            robot.keyPress(KeyEvent.VK_S);  
            robot.keyRelease(KeyEvent.VK_S);   
            robot.keyRelease(KeyEvent.VK_CONTROL);  
    } catch (AWTException e) {        
        }  
    }  
}  

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Следующий код может помочь вам справиться с Ctrl + S

public class SwingApp1 extends JFrame implements KeyListener {
public SwingApp1() {
    setSize(500, 500);
    setLocationRelativeTo(null);
    setBackground(Color.blue);
    addKeyListener(this);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
    SwingApp1 main = new SwingApp1();
    main.setVisible(true);
}

@Override
public void keyTyped(KeyEvent evt) {

}

@Override
public void keyPressed(KeyEvent e) {
    System.out.println("Pressed=>" + e.getKeyCode());
    if (e.getKeyCode() == 83) {
        System.out.println("Pressed Ctrl + S");
    } // Ctrl + S
}
@Override
public void keyReleased(KeyEvent e) {
}}
0 голосов
/ 27 мая 2018

Ваша программа не имеет графического интерфейса и, следовательно, нечего вызывать слушателя мыши.Код в слушателе выглядит корректно, все, что вам нужно сделать, это найти способ создания базового графического интерфейса и добавить к нему слушателя мыши, чтобы получить желаемые результаты.

...