#java
#java
Вопрос:
Я пытаюсь создать автотип, который будет вводить по одному символу за раз с заданной частотой, но я не знаю, какой класс использовать или как использовать. Я успешно могу распечатать желаемый результат на консоли. Любая помощь будет принята с благодарностью.
Ниже приведены мои коды
public class autoTyper extends JFrame
{
private JTextField inputArea;
private String msg = "";
private JButton copy;
private JSpinner frequency;
private Timer t;
private int delay;
private int i = 0;
public autoTyper()
{
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
inputArea = new JTextField(30);
inputArea.setText("Type your text here");
frequency = new JSpinner(new SpinnerNumberModel(100, 10, 1000, 10));
copy = new JButton("Start");
copy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
delay = Integer.parseInt(frequency.getValue().toString());
setDelay(delay);
System.out.println(delay);
calculate();
t.start();
}
});
panel.add(inputArea, BorderLayout.NORTH);
panel.add(frequency, BorderLayout.WEST);
panel.add(copy, BorderLayout.EAST);
getContentPane().add(panel);
}
private void calculate()
{
t = new Timer(getDelay(), new ActionListener() {
public void actionPerformed(ActionEvent e) {
msg = inputArea.getText();
if (i < msg.length()) {
System.out.print(msg.charAt(i));
i ;
} else
t.stop();
}
});
}
private void setDelay(int delay)
{
this.delay = delay;
}
private int getDelay()
{
return delay;
}
public static void main(String[] args)
{
autoTyper at = new autoTyper();
at.setTitle("Auto Typer");
at.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
at.setLocationRelativeTo(null);
at.pack();
at.setVisible(true);
}
}