Fate1
Apprentice

- Joined
- Apr 21, 2005
- Sythe Gold
- 5
- Messages
- 773
- Age
- 34
Can't get it to start or stop with the f keys but other than that i think it's decent. Tried using hashmap with it and I don't know why i did it and noticed this was an easier way.
EDIT: i just took out the keylistener.
EDIT: i just took out the keylistener.
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Fate's AutoTalker.
*
* @author Fate
* @version v1.0 1/2/10
*/
public class GUIAutoTalkerFrame extends JFrame implements ActionListener {
JButton start = new JButton("Start");
JButton stop = new JButton("Stop");
JButton quit = new JButton("Quit");
JTextField message = new JTextField("Enter your message here.");
JLabel delayLbl = new JLabel("Delay: ");
JTextField delay = new JTextField("1000", 3);
JPanel p1 = new JPanel();
Timer timer;
public GUIAutoTalkerFrame() {
setTitle("AutoTalker: f3=Stop, f4=Start");
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
timer = new Timer(1, autoTalk);
stop.setEnabled(false);
start.addActionListener(startTask);
stop.addActionListener(stopTask);
quit.addActionListener(this);
p1.add(message);
p1.add(delayLbl);
p1.add(delay);
p1.add(start);
p1.add(stop);
p1.add(quit);
add(p1);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source.equals(quit)) {
quit();
}
}
ActionListener startTask = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
timer.setDelay(Integer.parseInt(delay.getText()));
timer.start();
start.setEnabled(false);
stop.setEnabled(true);
quit.setEnabled(true);
delay.setEnabled(false);
message.setEnabled(false);
}
};
ActionListener stopTask = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
timer.stop();
start.setEnabled(true);
stop.setEnabled(false);
quit.setEnabled(true);
delay.setEnabled(true);
message.setEnabled(true);
}
};
ActionListener autoTalk = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
talk(message.getText());
}
};
public void talk(String text) {
try {
Robot robot = new Robot();
text = text.toUpperCase();
for(int i = 0; i < text.length(); i++)
robot.keyPress(text.charAt(i));
robot.keyPress(KeyEvent.VK_ENTER);
} catch (AWTException ae) {
System.out.println("Error: " + ae.getMessage());
}
}
public void quit() {
System.exit(0);
}
public static void main(String[] args) {
GUIAutoTalkerFrame frame = new GUIAutoTalkerFrame();
}
}

