Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.util.Timer;
- import java.util.TimerTask;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JScrollPane;
- import javax.swing.JSlider;
- import javax.swing.JTextArea;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- public class FastReader extends JFrame implements ActionListener, ChangeListener {
- class DoReadTask extends TimerTask {
- String[] textSplit = inputArea.getText().split("\\ ");
- int i = 0;
- public void run() {
- if(textSplit.length>0){
- text.setText(textSplit[i]);
- ++i;
- if(i==textSplit.length){
- timer.cancel();
- read = false;
- }
- } else {
- timer.cancel();
- read = false;
- }
- }
- }
- private JTextArea inputArea = new JTextArea("Írja be a szöveget");
- private JScrollPane scrollArea = new JScrollPane(inputArea);
- private JButton doReadButton = new JButton("Mehet!");
- private JButton stopReadButton = new JButton("Állj!");
- private JSlider slider = new JSlider();
- private JLabel sliderLabel = new JLabel("Gyorsaság: " + Integer.toString(slider.getValue()), JLabel.CENTER);
- private JLabel text = new JLabel("Ide fogom kiírni!", JLabel.CENTER);
- private boolean read = false;
- private Timer timer;
- public FastReader(){
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- getContentPane().setLayout(new GridLayout(0, 1));
- setBounds(60, 50, 900, 500);
- setResizable(false);
- setVisible(true);
- doReadButton.setActionCommand("startRead");
- doReadButton.addActionListener(this);
- stopReadButton.setActionCommand("stopRead");
- stopReadButton.addActionListener(this);
- slider.addChangeListener(this);
- getContentPane().add(text);
- getContentPane().add(doReadButton);
- getContentPane().add(stopReadButton);
- getContentPane().add(sliderLabel);
- getContentPane().add(slider);
- getContentPane().add(scrollArea);
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- if(e.getActionCommand().equals("startRead")){
- if(false==read){
- read = true;
- int sliderValue = 301 - slider.getValue() * 2;
- timer = new Timer();
- timer.schedule(new DoReadTask(), 700, sliderValue);
- }
- }
- if(e.getActionCommand().equals("stopRead")){
- read = false;
- timer.cancel();
- }
- }
- @Override
- public void stateChanged(ChangeEvent che) {
- try {
- sliderLabel.setText("Gyorsaság: " + Integer.toString(slider.getValue()));
- } catch (Exception e){
- e.printStackTrace();
- }
- }
- public static void main(String args[]){
- FastReader fastReader = new FastReader();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment