Interactivity slowing down

Hey, everyone,
I've run into a bit of a problem. I'm making eight card games, all with the same interactivity. The cards shuffle, I can flip them, and I can drag them. After I completed the first one, I made the second one simply by changing the words on the cards and the colors. I did the same for the third. The problem now is that my cards in each successive game are flipping slower and slower. They are supposed to show the other side immediately when clicked on (no fancy animation). In the first game, the car flips almost immediately. In the second game, it takes a moment. In the third, it takes several seconds! Beyond that, the click and drag function also gets choppy in the following games.
Does anybody know what might be causing this? It seems like my code is lagging in its functionality in the second and third games, and I don't know why. I have an a seperate .fla and .as file for each game. I also have some code embedded in the first frame of the .fla telling a button on the welcome screen to function. Here's my code for the third game I created. Thanks in advance for your help!
doubletimeA.as
package {
import flash.display.*;
import flash.events.*;
public class doubletimeA extends MovieClip {
  // game constants
  private static const boardWidth:uint = 7;
  private static const boardHeight:uint = 7;
  private static const boardOffsetX:Number = 120;
  private static const boardOffsetY:Number = 45;
  private var firstCard:Card;
  private var secondCard:Card;
  public function doubletimeA():void {
   // make a list of card numbers
   var cardlist:Array = new Array();
   for(var i:uint=0;i<boardWidth*boardHeight;i++) {
    cardlist.push(i);
   // create all the cards, position them, and assign a randomcard face to each
   for(var x:uint=0;x<boardWidth;x++) { // horizontal
    for(var y:uint=0;y<boardHeight;y++) { // vertical
     var c:Card = new Card(); // copy the movie clip
     c.stop(); // stop on first frame
     var r:uint = Math.floor(Math.random()*cardlist.length); // get a random face
     c.cardface = cardlist[r]; // assign face to card
     cardlist.splice(r,1); // remove face from list
     c.addEventListener(MouseEvent.CLICK,clickCard); // have it listen for clicks
     addChild(c); // show the card
   // This function is called when the mouse button is pressed.
   function startDragging(event:MouseEvent):void
        event.currentTarget.startDrag();
    // This function is called when the mouse button is released.
    function stopDragging(event:MouseEvent):void
       event.currentTarget.stopDrag();
   c.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
   c.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
  // player clicked on a card
  public function clickCard(event:MouseEvent) {
   var thisCard:Card = (event.target as Card); // what card?
    firstCard = thisCard; // note it
    firstCard.gotoAndStop(thisCard.cardface+2); // turn it over
doubletimeA.fla (first frame code)
stop();
function buttonClick(myevent:MouseEvent): void
  gotoAndStop(2);
btn_start.addEventListener(MouseEvent.CLICK,buttonClick);

Hi stupid rasa,
I'm sorry to hear you are having these issues with your MacBook Pro. It sounds like you have been on the right track in your troubleshooting. If you are having intermittent but persistent issues with your Mac slowing down over time, with temporary relief after a restart, you may find the following articles helpful.
In addition to CPU activity, you may want to check the Memory Pressure in Activity Monitor when your machine is slowing down, as noted here:
How to use Activity Monitor - Apple Support
You may also want to check your available disk space and see if your hard drive is largely full (<10% or so available), which can also greatly affect system speed & responsiveness:
To find out how much disk space you have, open Disk Utility, click your disk (usually named Macintosh HD), then click Info.
OS X Mavericks: Increase disk space
Regards,
- Brenden

Similar Messages

  • Touchscreen TV app slows down - caching problem?

    We have created an interactive Touchscreen using flash CS4 - http://www.cadstudio.co.nz/client_hlc/home.swf
    The Touchscreen is already in the showroom.
    Every morning it is restarted.
    By midday the whole application slows down to the point were it becomes very slow.
    I presume this is a caching problem.
    In order to resolve this we close down IE and restart it (playing the SWF file through Internet Explore on full screen mode).
    Once it has restarted it plays at the correct speed.
    Does any one know of a solution to this problem?
    I have thought about setting up windows 7 to reboot IE and have the flash file restart every few hours however a client may be navigating through the
    display when it reboots it self. I would prefer to avoid this if possible.
    Thanks.

    The Touchscreen TV is offsite however i will try and monitor it with that application you sent through.
    I have just read that using event listeners may cause the problem.

  • Ethernet performance starts fast, slows down

    My TC is directly connected to my new iMac with a high quality Cat.7 cable. No switch involved. So I expect Gigabit ethernet speed but this is not the case.
    When copying files down from the TC to the Mac (or one large test file) it always starts fast with about 28 MB/s, then after a minute or more, the speed slows down to about 2-4 MB/s. I have no idea what's the reason. The same happend with an MBP before, so I assume a problem in the TC?
    I have tried some network settings, different cables, etc., with no success.
    Any more hints?
    Besides this I am really unhappy with the overall quality of this TC. It's from early 2009, initially with a 500 GB. My main concern ist the power consumption and the heat. Even when the HD is not running, the device is always hot as ****. I have even removed the rubber underneath to give it more cooling.

    Glenn, thank you for your ideas.
    Unfortunately these are exactly my settings, already.
    May I add that copying TO the TC works with 14-20 MB/s, but only copying FROM the TC suffers speed.
    I have created a screencast, which shows this behavior very nicely. Up to minute 1:05 speed is good, then suddenly, without any further interaction, the speed decreases dramatically and stays this slow for the rest of the copy action. You can see transmission speed in the MenuMeters display.
    Link to my screencast (2.7 MB: "http://download.filewell.com/EtherSpeed.mov").
    Have a nice holiday season!

  • Preflight check in CS5 dramatically slows down file opening

    The preflight check option in InDesign does not seem to run in the background. As a result, it now takes around 5 times longer to open a file, as you have to wait for the preflight check to finish before you can do anything. Sure you can turn it off, but that kind of defeats the point of having it. Is there any way to configure it so that it runs in the background, or is this just another feature that is basically rendered unusable?

    What I am seeing is this: I open an InDesign file. The spread appears and all the objects placed on that layout appear, just as usual. Then I get the spinning beachball, which coincides with the preflight checking the file (you can see the word "checking" in the bottom left of the frame). The beachball stops and I can finally access the file once the preflight chack is complete. So, on that basis, it doesn't seem to be running in the background. Turning preflight off eliminates the problem. So yes, the file is open and visible, but I can't get at it until the preflight check is complete.
    For reference, I am using OS 10.6.6 and InDesign 7.0.4.550.
    Note that using the Basic preflight check, I don't get these problems, but using a custom profile, I do. I started trying to see if I could pinpoint what in the extra checks was causing the problem, but I failed: I took the basic profile, which works fine, and added the first extra check from my custom profile, which is to Check OPI Links in LINKS. I immediately got the slow down. But unchecking that in my custom profile, didn't speed things up, which suggests that it's more than one thing. If it helps, my custom profile is cheking for:
    LINKS
    Links missing or modfied
    Inaccessible URLs
    OPI Links
    COLOUR
    Transparency blending space
    Colour spaces not alowed
    Overprinting applied to white
    Registration applied
    IMAGES & OBJECTS
    Image resolution
    Interactive elements
    TEXT
    Overset text
    Font missing
    Glyph mising
    Font types not allowed
    DOCUMENT
    Bleed & slug setup

  • 10.4.10 update slows down SMB traffic?

    Hi all!
    This is my first mac-post. Forgive my mac-related ignorance, I'm trying to learn.. It's kind of an old-dog-new-tricks deal..
    Anyway, I've been researching a clients recent complaints that reading and writing files to and from their Windows Small Business Server 2003 server suddenly (a few days ago) slowed down immensely - to the point where it's almost unusable. They use VectorWorks for CAD and loading/saving a 20MB file will take several minutes on their 100Mbit/s network! Also playing video from the server is choppy.
    I've been researching the problem, and I've tested and checked out the normal networking problems like cabling, switches, server NIC, speed/duplex settings etc.. I've also tried various solutions to slow SMB traffic from other Mac-forums, like disabling TCP/IP v6 and disabling ACK delay on the macs, seeing absolutely NO improvements.
    I believe, however, that I've isolated the problem to the recent 10.4.10 update:
    * Their 1 Macbook with the 10.4.10 update has this problem.
    * Their 4 iMacs with the 10.4.10 update has this problem.
    * Their 1 iMac still on 10.4.9 DOES NOT have this problem.
    * Their 1 Mac Pro with the 10.4.10 update DOES NOT have this problem.
    So, it looks to me like the 10.4.10 breaks "something" on the "little" Macs while the Mac Pro seems unaffected.
    What can I do to rectify this problem? My client complains about lost efficiency and I'm at a loss about what to do next. Can anyone help me out?

    {quote:title=BDAqua wrote:}
    Not exactly clear where we are right now, but did Applejack report any fixins?{quote}
    Ok, I'll try to summarize todays findings...
    * AppleJack was run in interactive mode, ran all five tests, found nothing (as far as I could see)
    * Rebooted twice, still no better.
    * AppleJack was run in the AUTO mode. Same result.
    * I tested the transfer speed with smbget, it starts at 100kbps and rises to about 700kbps as the transfer progresses. On a 100MB Ethernet, I'd expect to see at least 1MB to about 10MB.
    * Then I downloaded Pacifist and installed everything that matched a search for "smbfs" in the install files, which are OS X 10.4.3 (or was it .7?? argh.. I forget, check tomorrow).
    * I was now out of luck, as the previously created aliases failed and a connection to the server through Finder was impossible. Smbget still works though!
    * The kextstat -b com.apple.filesystems.smbfs command now only displays infoheader, but no info.
    * Now, I'm looking at a backup of a few files and a complete reinstall of the Macbook to see if that does the trick.
    My client hasn't seen the bill for these hours of troubleshooting yet, but I have a feeling I'll have to throw in the towel real soon. Ooops, I sent him the link for this thread, maybe he's watching!?

  • IPhoto crashing, slowing down and freezing up.

    iPhoto chashed 4 times with me while doing the same task, creating a Photo Book.
    Apart from that, it would slow down while editing a pic within the book creation interactive app, and would show the little pie, like it was loading or reading something, once doing that it has frozen, and whether it would recognize it crashed, or I would have to force quit.
    FYI: - I only have 60 pics tops in iPhoto
    - iPhoto is the latest version and it is updated
    - along with the computer, it is brand new, nt more than a week old.
    - it did also happen the first time to loose all the contents on the photo book, it crashed and asked to report or restart iPhoto.
    Thanks for whoever can help me....

    Over the weekend I did the following:
    1) Backed up my entire computer
    2) Booted from the Mac OS X install DVD, launched Disk Utility, and erased my entire hard drive
    3) Installed Mac OS X from scratch (version 10.4.7 was on the DVD) along with the base applications
    4) After the install, I logged in and ran software update until iLife '06 was patched up, and 10.4.10 was loaded with all security updates
    5) Inserted iLife '08 disk -- installed iPhoto '08
    6) Launched iPhoto '08, made sure it was working fine (with a library of NO Photos)
    7) Restored a copy of my iPhoto library to my hard drive
    8) Launched iPhoto '08 again (made sure it was STILL version 7.0.1), and saw that my book was there along with all of my photos, etc...
    9) Attempted to purchase my book. And the result was: On page 28 of 32 -- CRASH of the entire computer.
    Here's a picture of it: http://www.kmcode.com/misc/errors/iphoto08crash.jpg
    Sorry, had to take a quick snapshot with the digital camera. It doesn't do well up close and such...
    Anyways. This bug exists regardless of which version of iPhoto '08 you are running. I'm very peeved about it, for I spent an entire weekend backing up my computer, hunting down the original disks, reinstalling Mac OS X from scratch, downloading software updates -- and it still crashes the entire computer when I try to assemble a book or generate a PDF of the book. I am at wits end with this. And as stated before -- I can in fact create a book with autoflow with the exact same photographs, and it will send to PDF just fine. You just can't adjust any of the photo attributes!
    Also, I'll note that my iLife '08 disk comes with version 7.0.1 on it from the factory. I can't seem to get to version 7.0 to see if it will work.

  • My iMac 8.1 was slowing down and had permissions problems. I backed everything up, and then re-installed. Now all I get is a black screen. Power+D gives me a hardware error message: HDD-1336. Help!

    My iMac 8.1 (10.6.8 ) was slowing down and had recurrent permissions problems, mostly with Java. I backed everything up, and then re-installed from time machine. Now all I get is a black screen which says I need to reboot. Power+D gives me a hardware error message: 4 MOT/1/40000003: HDD-1336 or HDD-1327. When I reboot from the OSX CD and start disc utilities everything checks out OK. When I reload 10.5.2 from the OSX CD everything seems to work OK and no more permissions problems. But then I loose all my email and safari stuff. Anyone have any ideas short of going back to my old PC?

    DonM. wrote:
    Hi
    Thanks for the help. No point in fooling around with it any more. Will I be able to use it as a monitor if I get a mimi mac?
    Cheers. Don
    No unfortunatley it's too old, you are referring to Target Display Mode which became avialble in 2009, your 2008 needs to have the HD replaced. I'd still do that if everything else is OK or you can simply buy a new MM and display or even a new iMac  or an Apple refurbished iMac to save money.

  • System Slow-Down After Printing

    I recently installed Mountain Lion. Over the last couple of weeks I have noticed a significant operating system (10.8.2) slow down after printing with my Epson R3000 printer. This happens after every printing session. When I say slow-down I mean significant delays and dreading "beachballs" when opening applications, selecting menu items or anything else I should choose to do. I'm left with re-starting the computer to get going normally again.After re-atarting I have gone to "verify permissions" and I get approx "5" pages of permission errors, all associated with the printer library in some fashion or another. I then repair all those permissions and re-start my MacPro. The operating system then works as normal and I can use the computer with no problems (until I start printing again). I mainly use the computer for photo editing with Adobe Photoshop CS6, Adobe Lightroom 4 and Aperture 3.2.
    I did not have this problem before upgrading to Mountain Lion (and then to 10.8.2). I did not get "significant" permission errors before upgrading. Since all printer drivers for this printer are handled now by Apple via the "new" Software Update process I can't even re-download the Epson printer driver and start over. I'm completely at a loss as to what, associated with the printer function, is causing these "significant" permission errors and subsequent operating system slow down. My printer is almost brand new and was working flawlessly before Mountain Lion. Let me be clear though, I can print fine. My problem is the system slow down after using the print function which I am only guessing has something to do with the "5" pages of permission errors after printting photos (with CS6/Lightroom/Aperture).
    Incidently, I am not in any way a computer expert. Verifying and repairing permissions is about all I know how to do that's why I need help. I also just thought I would try the forums first before going to technical support to see what people thought about this.
    Again, I repair the permission errors, re-start my system and all is fine. Any further suggestions would be deeply appreciated.

    When you see a beachball cursor or the slowness is especially bad, note the exact time: hour, minute, second.  
    These instructions must be carried out as an administrator. If you have only one user account, you are the administrator.
    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad and start typing the name.
    The title of the Console window should be All Messages. If it isn't, select
              SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
              View ▹ Show Log List
    from the menu bar at the top of the screen.
    Each message in the log begins with the date and time when it was entered. Scroll back to the time you noted above.
    Select the messages entered from then until the end of the episode, or until they start to repeat, whichever comes first.
    Copy the messages to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    The log contains a vast amount of information, almost all of it useless for solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    Some private information, such as your name, may appear in the log. Anonymize before posting.

  • Timer Class not accurate and slows down my animation!?

    Does anyknow how why my timer object is not accurate and why it slows down my animation that is also present on my GUI at the same time?
    I have a timer in the form of 0.00 the left of the decimal point should represent a second but it doesnt, run my code and see for yourselves. below is my code if anyone can fix these 2 problems i will be very thankfull:
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.awt.Shape;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.Timer;
    import java.sql.*;
    import java.text.*;
    public class RT extends JFrame implements MouseMotionListener
        //declares a number of swing componets to be used for the JFrame
        private JTextArea infoJTextArea;
        private JPanel showJPanel, startJPanel, helpJPanel, resultsJPanel;
        private JLabel de4JLabel, de3JLabel, mainTitleJLabel, nameJLabel, ageJLabel,
                       deJLabel, de1JLabel, de2JLabel, timeJLabel,nameResultJLabel,
                       ageResultJLabel, timeResultsJLabel, ratingJLabel, coJLabel, shJLabel;
        private JTextField nameJTextField, ageJTextField,nameResultJTextField,
                       ageResultsJTextField, timeResultsJTextField, ratingJTextField;
        private JButton exitJButton, showJButton, loginJButton, startTestJButton,
                        tempObjectJButton;
        private JScrollPane scroll;
    public JComboBox colourJComboBox, sizeJComboBox, shapeJComboBox, speedJComboBox;
    private static Connection dbcon;
    int temp=0;
    private String[] col = { "Red", "Blue", "Green","Yellow","Orange","Black"};
    private String[] shapeA = { "Normal Rectangle", "Normal Circle", "Normal Oval","BIG Rectangle", "BIG Circle","BIG Oval","small rectangle","small circle", "small oval"};
    private String[] speed = { "Fast", "Normal", "Slow"};
    public int checking;
    static int flag, flagshape, flagspeed;
        // creates and sets up a number of varibles to be used by the class
        public long timeLimit = 0;
        DecimalFormat timeDec = new DecimalFormat (":00");
        public int age;
        public String name, shapeChoice="Normal Rectangle(Never selected anything)", colourChoice="Black(Never selected anything)";
        private Timer TimeNow;
        private JTextField timerJTextField;
        ShapeMovingPanel testJPanel;
        Random seed;
        Shape shape;
        Shape[] shapes = {new Rectangle2D.Double(50, 30, 75, 25),new Ellipse2D.Double(175, 125, 50, 50),new Ellipse2D.Double(90, 100, 75, 35),new Rectangle2D.Double(50, 30, 175, 125),new Ellipse2D.Double(175, 125, 125, 125),new Ellipse2D.Double(90, 100, 175, 135),new Rectangle2D.Double(50, 30, 55, 15),new Ellipse2D.Double(175, 125, 20,20),new Ellipse2D.Double(90, 100, 55, 15)};
    //50, 30, 75, 25 change starting point here****************************************
        public RT()            // constructor method
            seed = new Random();
            shape = shapes[0];
            //sets up the Timer
            TimeNow = new Timer((1), new TimerListener());//++++++++++++++++++++++++++timer -17
            createUserInterface();          // method that creates the user interface     
        private void createUserInterface()
            new Thread(new Runnable()
                public void run()
                    String results = "";
                    int count = 0;
                    boolean journeyOn = true;
                    while(journeyOn && count < 3)
                        try
                            Thread.sleep(1000);
                        catch(InterruptedException ie)
                            System.err.println("show interrupt: " + ie.getMessage());
                            journeyOn = false;
                        results += count++ + ", ";
                    try {
                             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                             dbcon = DriverManager.getConnection("jdbc:odbc:CMT3991", "", ""); // Access/ODBC
                          //connection ash used to connect to the user table in access
                           } catch(Exception eee)
                           eee.printStackTrace();  //exception if error occurs during the driver connection
                             System.out.println("* UserDA CONNECTED *");
            }).start();
            Container contentPane = getContentPane();
            contentPane.setLayout( null );
            // set up infoJTextField
            infoJTextArea = new JTextArea();
            infoJTextArea.setBounds( 20, 420, 550, 170  );
            infoJTextArea.setEditable( false);
            infoJTextArea.setText("\n    Welcome to the reaction testing program, this " +
                            "program is designed to test your reactions in a  \n"+
                            "    number of different situations.\n"+"\n    Please " +
                            "enter your name and age, or select show previous results.");
            contentPane.add( infoJTextArea );
            scroll = new JScrollPane(infoJTextArea);
            scroll.setBounds(  20, 420, 550, 170 );
            contentPane.add( scroll );
                  startJPanel = new JPanel();
            startJPanel.setBounds( 16,16, 560, 375 );
            startJPanel.setBorder(
                    new TitledBorder( "WELCOME - PLEASE ENTER YOUR NAME AND AGE:" ) );
            startJPanel.setLayout( null );
            contentPane.add( startJPanel );
            //sets up a JPanel
            mainTitleJLabel = new JLabel();
            mainTitleJLabel.setIcon( new ImageIcon( "title.png" ) );
            mainTitleJLabel.setBounds( 30, 10, 520, 170 );
            mainTitleJLabel.setHorizontalAlignment( JLabel.CENTER );
            startJPanel.add( mainTitleJLabel );
            //creates a newJLabel
            nameJLabel= new JLabel();
            nameJLabel.setBounds( 52, 200, 70, 35 );
            nameJLabel.setText("Name:");
            startJPanel.add( nameJLabel);
            //creates a new JTextField
            nameJTextField = new JTextField();
            nameJTextField.setBounds( 130, 200, 300, 24 );
            startJPanel.add( nameJTextField );
            //creates a newJLabel
            ageJLabel = new JLabel();
            ageJLabel.setBounds( 52, 245, 100, 35 );
            ageJLabel.setText("Age:");
            startJPanel.add( ageJLabel );
            //creates a new JTextField
            ageJTextField = new JTextField();
            ageJTextField.setBounds( 130, 245, 300, 24 );
            startJPanel.add( ageJTextField );
            //creates a JButton
            loginJButton = new JButton();
            loginJButton.setBounds( 440, 200, 90, 24 );
            loginJButton.setText( "Login" );
            loginJButton.setBackground( Color.YELLOW );
            startJPanel.add( loginJButton );
            loginJButton.setEnabled(true);
    //        loginJButton.setVisible(true);
            loginJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        // not necessary to pass events to these methods...
                        Login();  // calls the Login method                       
            //creates a JButton
            showJButton = new JButton();
            showJButton.setBounds( 200, 320, 180, 24 );
            showJButton.setText( "Show previous results" );
            showJButton.setBackground( Color.YELLOW );
            startJPanel.add( showJButton );
            showJButton.setEnabled(true);
    //        showJButton.setVisible(true);
            showJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        showData();   // calls the showData method                       
            //sets up a JPanel
            showJPanel = new JPanel();
            showJPanel.setBounds( 16,16, 560, 375 );
            showJPanel.setBorder(new TitledBorder( "PREVIOUS RESULTS:" ) );
            showJPanel.setLayout( null );
            contentPane.add( showJPanel );
            //sets up a JPanel
            helpJPanel = new JPanel();
            helpJPanel.setBounds( 16,16, 560, 375 );
            helpJPanel.setBorder(
            new TitledBorder( "CHOOSE A NUMBER OF OPTIONS AND GET READY:" ) );
            helpJPanel.setLayout( null );
            helpJPanel.setVisible(false);
            contentPane.add( helpJPanel );
            //creates a newJLabel
            deJLabel= new JLabel();
            deJLabel.setBounds( 23, 390, 530, 35 );
            deJLabel.setText("Details:");
            contentPane.add( deJLabel);
            //creates a newJLabel
            coJLabel= new JLabel();
            coJLabel.setBounds( 70, 40, 530, 35 );
            coJLabel.setText("Choose a colour:");
            helpJPanel.add( coJLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds( 25, 100, 530, 35 );
            de1JLabel.setText("You are about to start the reaction test, when you " +
                              "press the start button it will begin.");
            helpJPanel.add( de1JLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds(160, 145, 530, 35 );
            de1JLabel.setText("Simply catch the moving item and click.");
            helpJPanel.add( de1JLabel);
            colourJComboBox = new JComboBox( col );
               colourJComboBox.setBounds( 70, 70, 135, 21 );
               colourJComboBox.setMaximumRowCount( 3 );
               helpJPanel.add( colourJComboBox );
              colourJComboBox.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                         colourChoice="Black";
                         int x = colourJComboBox.getSelectedIndex();
                        if( x  == 0)
                             flag = 1;
                             colourChoice="Red";
                        else if(x  == 1)
                             flag = 2;
                             colourChoice="Blue";
                        else if(x  == 2)
                             flag = 3;
                                colourChoice="Green";
                         else if(x  == 3)
                             flag = 4;
                                colourChoice="Yellow";
                         else if(x  == 4)
                             flag = 5;
                                colourChoice="Orange";
                           else if(x  == 5)
                             flag = 6;
                                colourChoice="Black";
            shJLabel= new JLabel();
            shJLabel.setBounds( 340, 40, 530, 35 );
            shJLabel.setText("Choose a shape and size:");
            helpJPanel.add( shJLabel);
            shapeJComboBox = new JComboBox( shapeA );
               shapeJComboBox.setBounds( 340, 70, 135, 21 );
               shapeJComboBox.setMaximumRowCount( 3 );
               helpJPanel.add( shapeJComboBox );
              shapeJComboBox.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                          int xshape = shapeJComboBox.getSelectedIndex();
                        //shapeChoice="Normal Rectangle";
                        if( xshape  == 0)
                        {     flagshape = 1;
                             shapeChoice="Normal Rectangle";
                        else if(xshape  == 1)
                        {     flagshape = 2;
                             shapeChoice="Normal Circle";
                        else if(xshape  == 2)//**********here
                        {     flagshape = 3;
                             shapeChoice="Normal Oval";
                        else if(xshape  == 3)
                        {     flagshape = 4;
                             shapeChoice="BIG Rectangle";
                        else if(xshape  == 4)
                       {      flagshape = 5;
                             shapeChoice="BIG Circle";
                        else if(xshape  == 5)
                     {        flagshape = 6;
                             shapeChoice="BIG Oval";
                        else if(xshape  == 6)
                             flagshape = 7;
                             shapeChoice="small rectangle";
                        else if(xshape  == 7)
                     {        flagshape = 8;
                             shapeChoice="small circle";
                        else if(xshape  == 8)
                     {        flagshape = 9;
                             shapeChoice="small oval";
          /*  speedJComboBox = new JComboBox( speed );
               speedJComboBox.setBounds( 10, 150, 135, 21 );
               speedJComboBox.setMaximumRowCount( 3 );
               helpJPanel.add( speedJComboBox );
              speedJComboBox.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                          int xspeed = speedJComboBox.getSelectedIndex();
                        if( xspeed  == 0)
                             flagspeed = 1;
                             else if(xspeed  == 1)
                             flagspeed = 2;
                             else
                             flagspeed = 3;
                        System.out.println(flagspeed);     
            //creates a newJLabel
            de2JLabel= new JLabel();
            de2JLabel.setBounds( 20, 380, 70, 35 );
            de2JLabel.setText("Details:");
            helpJPanel.add( de2JLabel);
            //creates a JButton
            startTestJButton = new JButton();
            startTestJButton.setBounds( 185, 205, 180, 60 );
            startTestJButton.setText( "START" );
            startTestJButton.setBackground( Color.YELLOW );
            helpJPanel.add( startTestJButton );
            startTestJButton.setEnabled(true);
    //        startTestJButton.setVisible(true);
            startTestJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        startTest();
            //sets up an animation panel
            testJPanel = new ShapeMovingPanel(this);
            testJPanel.setBounds( 16,16, 560, 375 );
            testJPanel.setBorder(new TitledBorder("Click the moving object:"));
            testJPanel.setLayout( null );
            testJPanel.setVisible(false);
            contentPane.add( testJPanel );
            testJPanel.addMouseMotionListener(this);
            //creates a newJLabel
            timeJLabel = new JLabel();
            timeJLabel.setBounds( 440, 330, 100, 35 );
            timeJLabel.setText("Time:");
            testJPanel.add( timeJLabel );
            //creates a new JTextField
            timerJTextField = new JTextField();
            timerJTextField.setBounds( 480, 335, 60, 24 );
            timerJTextField.setText(String.valueOf(timeLimit));
            timerJTextField.setHorizontalAlignment(JTextField.CENTER );
            timerJTextField.setEditable(false);
            timerJTextField.setBackground( Color.YELLOW );
            testJPanel.add( timerJTextField );
            resultsJPanel = new JPanel();
            resultsJPanel.setBounds( 16,16, 560, 375 );
            resultsJPanel.setBorder(new TitledBorder("HERE ARE YOUR RESULTS:"));
            resultsJPanel.setLayout( null );
            resultsJPanel.setVisible(false);
            contentPane.add( resultsJPanel );
            de3JLabel= new JLabel();
            de3JLabel.setBounds(20, 200, 530, 35 );
            de3JLabel.setText("Below is also the movements you made with your mouse, " +
                              "you may exit the program now.");
            resultsJPanel.add( de3JLabel);
            de4JLabel= new JLabel();
            de4JLabel.setBounds(135, 245, 530, 35 );
            de4JLabel.setText("Thank you for trying the Reaction Testing program");
            resultsJPanel.add( de4JLabel);
            //creates a newJLabel
            nameResultJLabel= new JLabel();
            nameResultJLabel.setBounds( 62, 55, 50, 35 );
            nameResultJLabel.setText("Name:");
            resultsJPanel.add( nameResultJLabel);
            //creates a new JTextField
            nameResultJTextField = new JTextField();
            nameResultJTextField.setBounds( 140, 55, 300, 24 );
            resultsJPanel.add( nameResultJTextField );
            nameResultJTextField.setEditable(false);
            //creates a newJLabel
            ageResultJLabel = new JLabel();
            ageResultJLabel.setBounds( 62, 90, 100, 35 );
            ageResultJLabel.setText("Age:");
            resultsJPanel.add( ageResultJLabel );
            //creates a new JTextField
            ageResultsJTextField = new JTextField();
            ageResultsJTextField.setBounds( 140, 90, 300, 24 );
            resultsJPanel.add( ageResultsJTextField );
            ageResultsJTextField.setEditable(false);
            //creates a newJLabel
            timeResultsJLabel = new JLabel();
            timeResultsJLabel.setBounds( 62, 125, 100, 35 );
            timeResultsJLabel.setText("Time taken:");
            resultsJPanel.add( timeResultsJLabel );
            //creates a new JTextField
            timeResultsJTextField = new JTextField();
            timeResultsJTextField.setBounds( 140, 125, 300, 24 );
            resultsJPanel.add( timeResultsJTextField );
            timeResultsJTextField.setEditable(false);
            //creates a newJLabel
            ratingJLabel = new JLabel();
            ratingJLabel.setBounds( 62, 160, 100, 35 );
            ratingJLabel.setText("Your Rating:");
            resultsJPanel.add( ratingJLabel );
            ratingJTextField = new JTextField();
            ratingJTextField.setBounds( 140, 160, 300, 24 );
            resultsJPanel.add( ratingJTextField );
            ratingJTextField.setEditable(false);
            //creates a JButton
            exitJButton = new JButton();
            exitJButton.setBounds( 235, 310, 90, 24 );
            exitJButton.setText( "Exit" );
            exitJButton.setBackground( Color.WHITE );
            resultsJPanel.add( exitJButton );
            exitJButton.setEnabled(true);
            exitJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when exitJButton is pressed
                    public void actionPerformed( ActionEvent event )
                        System.exit(0); //closes the programme
            }); // end anonymous inner class
            addWindowListener(new WindowAdapter()
                public void windowClosing(WindowEvent e)
                    System.exit(0);
            // set properties of application's window
            setTitle( "Reaction Tester - CMT3991" ); // set JFrame's title bar string
            //setSize( 1280,995 );    // set width and height of JFrame
            setSize( 608, 650 );         // set width and height of JFrame
            setVisible( true );       // display JFrame on screen
        //** set up of method main */
        public static void main( String[] args )
            RT application = new RT();
            application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        } // end method main
         * action listener for TimeNow Timer
        private class TimerListener implements ActionListener
            public void actionPerformed(ActionEvent event)
                timeLimit ++;          
                if (timeLimit==100)
                     temp++;
                     timeLimit=0;
                timerJTextField.setText(String.valueOf(temp +""+timeDec.format(timeLimit)));
        private void Login()
            try
                name = nameJTextField.getText();
                age = Integer.parseInt(ageJTextField.getText());
                startJPanel.setVisible(false);
                showJPanel.setVisible(false);
                helpJPanel.setVisible(true);
                infoJTextArea.setText("\n    Welcome "+name+" you will soon know how " +
                                      "fast your reactions are.");
            catch (NumberFormatException exception)
                JOptionPane.showMessageDialog(this,
                        "There is either a blank field or a number hasn't been entered",
                        "Input Type error", JOptionPane.ERROR_MESSAGE);
                //shows this is something has been entered wrong
        private void startTest()
            helpJPanel.setVisible(false);
          //  System.out.println(""+ seed.nextInt(shapes.length));
            //shape = shapes[seed.nextInt(shapes.length)];//****************************
            if (flagshape==1)
                 shape = shapes[0];// changed colour here***************************
            else if (flagshape==2)
                 shape = shapes[1];// changed colour here***************************
            else if (flagshape==3)
                 shape = shapes[2];// changed colour here***************************
           else if (flagshape==4)
                 shape = shapes[3];// changed colour here***************************
             else if (flagshape==5)
                 shape = shapes[4];// changed colour here***************************
            else if (flagshape==6)
                 shape = shapes[5];// changed colour here***************************
            else if (flagshape==7)
                 shape = shapes[6];// changed colour here***************************
            else if (flagshape==8)
                 shape = shapes[7];// changed colour here***************************
            else if (flagshape==9)
                 shape = shapes[8];// changed colour here***************************
           // shape = shapes[8];
            System.out.println(shape.toString());
            testJPanel.setShape(shape);
            testJPanel.setVisible(true);
            testJPanel.start();
            infoJTextArea.setText("");
            TimeNow.start();
         * called by animation panel after shape is clicked
        public void stop()
            TimeNow.stop();
            movingObject();
         * this will compete with your animation
         * ie, it will slow it down or make it appear jerky
        public void mouseMoved(MouseEvent e)
            saySomething("\n    Mouse moved", e);
        public void mouseDragged(MouseEvent e)
            saySomething("\n    Mouse dragged", e);
        void saySomething(String eventDescription, MouseEvent e)
            infoJTextArea.append(eventDescription
                         + " (" + e.getX() + "," + e.getY() + ")");
            infoJTextArea.setCaretPosition(infoJTextArea.getDocument().getLength());
        private void movingObject()
            TimeNow.stop();
            //timeLimit;
            testJPanel.setVisible(false);
            resultsJPanel.setVisible(true);
            nameResultJTextField.setText(name);
            ageResultsJTextField.setText(String.valueOf(age)+" years old");
    System.out.println("shape used: "+shapeChoice);
            String mouse = infoJTextArea.getText();
            String tick = timerJTextField.getText();
            timeResultsJTextField.setText(tick);
            try
                // create a file called welch.txt
                final FileWriter outputFile = new FileWriter("Backup_of_"+name+"s_results.txt", true);
                final BufferedWriter outputBuffer = new BufferedWriter(outputFile);
                // converts data to a formatted string
                final PrintWriter printstream = new PrintWriter(outputBuffer);
                printstream.println("THIS IS A BACKUP");
                printstream.println("The person's name is: "+name);
                printstream.println("There age is: "+age);
                printstream.println("Time taken: "+tick+" seconds");
                printstream.println("The Shape and size was: "+shapeChoice);
                printstream.println("It's colour was: "+colourChoice);
                printstream.println("The mouse moved as follows: "+mouse);
                //states what needs to be printed to the new file
                printstream.close(); // closes teh printstream
            catch(IOException eio)
                //catchs the IO exception
            if(temp<5.00)
                ratingJTextField.setText("Thierry Henry");     
            else if(timeLimit<=10)
                ratingJTextField.setText("Average");     
            else if(timeLimit<=15)
                ratingJTextField.setText("You gotta be fat or something");     
            else if(timeLimit<=20)
                ratingJTextField.setText("See a doctor");
            else if(timeLimit>20)
                ratingJTextField.setText("DO YOU KNOW WHAT YOU DOING!?");
            String rate=ratingJTextField.getText();
            try
                   Statement st = dbcon.createStatement();
                   String cmd = "INSERT INTO users (Name, Age, Time_Taken, Rating, Mouse_Movement,Shape_and_Size, Shape_Colour) VALUES ('" + name + "' , " + age + " , '" + tick + "' , '" + rate+"','"+ mouse+"','"+ shapeChoice+"','"+ colourChoice+"');";
                //creates a SQL statement and executes it
                st.executeUpdate(cmd);
                   st.close();//close the statement
              } catch (Exception eDA)
                   eDA.printStackTrace();
        private void showData()
            // pretend this takes awhile -> 3 seconds (count)
            new Thread(new Runnable()
                public void run()
                    String results = "";
                    int count = 0;
                    boolean journeyOn = true;
                    while(journeyOn && count < 3)
                        try
                            Thread.sleep(1000);
                        catch(InterruptedException ie)
                            System.err.println("show interrupt: " + ie.getMessage());
                            journeyOn = false;
                        results += count++ + ", ";
                    infoJTextArea.setText("Here are your results:\n"+results);
                    startJPanel.setVisible(false);
                    showJPanel.setVisible(true);
            }).start();
    class ShapeMovingPanel extends JPanel implements ActionListener
        RT host;
        Timer timer;
        Shape shape, xformed;
        int x, y, dx, dy;
        public ShapeMovingPanel(RT rt)
            timer = new Timer(-20, this);     
            host = rt;
        /*    if (rt.flagspeed==1)
            timer = new Timer(-20, this);
            else if (rt.flagspeed==2)
                timer = new Timer(20, this);
            else if (rt.flagspeed==3)
            timer = new Timer(100, this);
            //change speed here******************************
            x = 0;//0
            y = 0;//0
            dx =2;//2
            dy = 3;//3
            //setBackground(Color.pink);
            addMouseListener(new ShapeTender());
        public void actionPerformed(ActionEvent e)
            int w = getWidth();
            int h = getHeight();
            if(w <= 0 || h <= 0)
                return;
            checkBoundries(w,h);
            x += dx;
            y += dy;
            repaint();
        private void checkBoundries(int w, int h)
            Rectangle r = xformed.getBounds();
            Insets insets = getInsets();
            if(r.x + dx < insets.left || r.x + r.width + dx > w - insets.right)
                dx *= -1;
            if(r.y + dy < insets.top || r.y + r.height + dy > h - insets.bottom)
                dy *= -1;
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            AffineTransform at = AffineTransform.getTranslateInstance(x, y);
            if (RT.flag==1)
            {g2.setPaint(Color.red);// changed colour here***************************
            else if (RT.flag==2)
            {g2.setPaint(Color.blue);// changed colour here***************************
            else if (RT.flag==3)
            {g2.setPaint(Color.green);// changed colour here***************************
            else if (RT.flag==4)
            {g2.setPaint(Color.yellow);// changed colour here***************************
            else if (RT.flag==5)
            {g2.setPaint(Color.orange);// changed colour here***************************
            else if (RT.flag==6)
            {g2.setPaint(Color.black);// changed colour here***************************
            xfo                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

    I'm (being lazy and) using the older RT app posted on your last thread. I removed the
    TimeNow timer from the RT class and used System.currentTimeMillis (as you requested) to
    determine the elapsed time during the animation (see "startTest", "stop" and
    "movingObject" methods). Also changed the DecimalFormat to NumberFormat and set the
    "maximumFractionDigits" to "2" so it will truncate the fraction to two digits (more simple
    than before). Made arrangements for the ShapeMovingPanel class to update the
    "timerJTextField" during the animation (RT.updateTime method).
    The MouseMotionListener is causing the animation to appear jerky and uneven. The
    "mouseMoved" method is very busy while the mouse is moving. You might consider recording
    the "mousePressed" events instead of the "mouseMoved" events, ie, the events where the user
    is attempting to click inside the moving shape. It would allow the app to be more
    responsive and might eliminate the uneven motion of the animating shape.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.Timer;
    public class RT extends JFrame implements MouseMotionListener
        //declares a number of swing componets to be used for the JFrame
        private JTextArea infoJTextArea;
        private JPanel showJPanel, startJPanel, helpJPanel, resultsJPanel;
        private JLabel de4JLabel, de3JLabel, mainTitleJLabel, nameJLabel, ageJLabel,
                       deJLabel, de1JLabel, de2JLabel, timeJLabel,nameResultJLabel,
                       ageResultJLabel, timeResultsJLabel, ratingJLabel;
        private JTextField nameJTextField, ageJTextField,nameResultJTextField,
                       ageResultsJTextField, timeResultsJTextField, ratingJTextField;
        private JButton exitJButton, showJButton, loginJButton, startTestJButton,
                        tempObjectJButton;
        private JScrollPane scroll;;
        // creates and sets up a number of varibles to be used by the class
        private long startTime;
        private long endTime;
        public int timeLimit = 0;
        public int age;
        public String name;
        private JTextField timerJTextField;
        ShapeMovingPanel testJPanel;
        NumberFormat timeDec;
        Random seed;
        Shape shape;
        Shape[] shapes = {
            new Rectangle2D.Double(50, 30, 75, 25),
            new Ellipse2D.Double(175, 125, 50, 50),
            new Ellipse2D.Double(90, 100, 75, 35)
        public RT()
            timeDec = NumberFormat.getInstance();
            timeDec.setMaximumFractionDigits(2);
            seed = new Random();
            shape = shapes[0];
            createUserInterface();
        private void createUserInterface()
            Container contentPane = getContentPane();
            contentPane.setLayout( null );
            // set up infoJTextField
            infoJTextArea = new JTextArea();
            infoJTextArea.setBounds( 20, 420, 550, 170  );
            infoJTextArea.setEditable( false);
            infoJTextArea.setText("\n    Welcome to the reaction testing program, this " +
                            "program is designed to test your reactions in a  \n"+
                            "    number of different situations.\n"+"\n    Please " +
                            "enter your name and age, or select show previous results.");
            contentPane.add( infoJTextArea );
            scroll = new JScrollPane(infoJTextArea);
            scroll.setBounds(  20, 420, 550, 170 );
            contentPane.add( scroll );
              startJPanel = new JPanel();
            startJPanel.setBounds( 16,16, 560, 375 );
            startJPanel.setBorder(
                    new TitledBorder( "WELCOME -PLEASE ENTER YOUR NAME AND AGE:" ) );
            startJPanel.setLayout( null );
            contentPane.add( startJPanel );
            //sets up a JPanel
            mainTitleJLabel = new JLabel();
            mainTitleJLabel.setIcon( new ImageIcon( "title.png" ) );
            mainTitleJLabel.setBounds( 30, 10, 520, 170 );
            mainTitleJLabel.setHorizontalAlignment( JLabel.CENTER );
            startJPanel.add( mainTitleJLabel );
            //creates a newJLabel
            nameJLabel= new JLabel();
            nameJLabel.setBounds( 52, 200, 70, 35 );
            nameJLabel.setText("Name:");
            startJPanel.add( nameJLabel);
            //creates a new JTextField
            nameJTextField = new JTextField();
            nameJTextField.setBounds( 130, 200, 300, 24 );
            startJPanel.add( nameJTextField );
            //creates a newJLabel
            ageJLabel = new JLabel();
            ageJLabel.setBounds( 52, 245, 100, 35 );
            ageJLabel.setText("Age:");
            startJPanel.add( ageJLabel );
            //creates a new JTextField
            ageJTextField = new JTextField();
            ageJTextField.setBounds( 130, 245, 300, 24 );
            startJPanel.add( ageJTextField );
            //creates a JButton
            loginJButton = new JButton();
            loginJButton.setBounds( 440, 200, 90, 24 );
            loginJButton.setText( "Login" );
            loginJButton.setBackground( Color.YELLOW );
            startJPanel.add( loginJButton );
            loginJButton.setEnabled(true);
            loginJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        // not necessary to pass events to these methods...
                        Login();  // calls the Login method                       
            //creates a JButton
            showJButton = new JButton();
            showJButton.setBounds( 200, 320, 180, 24 );
            showJButton.setText( "Show previous results" );
            showJButton.setBackground( Color.YELLOW );
            startJPanel.add( showJButton );
            showJButton.setEnabled(true);
            showJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        showData();   // calls the showData method                       
            //sets up a JPanel
            showJPanel = new JPanel();
            showJPanel.setBounds( 16,16, 560, 375 );
            showJPanel.setBorder(new TitledBorder( "PREVIOUS RESULTS:" ) );
            showJPanel.setLayout( null );
            contentPane.add( showJPanel );
            //sets up a JPanel
            helpJPanel = new JPanel();
            helpJPanel.setBounds( 16,16, 560, 375 );
            helpJPanel.setBorder(
            new TitledBorder( "HELP DETAILS:" ) );
            helpJPanel.setLayout( null );
            helpJPanel.setVisible(false);
            contentPane.add( helpJPanel );
            //creates a newJLabel
            deJLabel= new JLabel();
            deJLabel.setBounds( 23, 390, 530, 35 );
            deJLabel.setText("Details:");
            contentPane.add( deJLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds( 25, 100, 530, 35 );
            de1JLabel.setText("You are about to start the reaction test, when you " +
                              "press the start button it will begin.");
            helpJPanel.add( de1JLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds(160, 145, 530, 35 );
            de1JLabel.setText("Simply catch the moving item and click.");
            helpJPanel.add( de1JLabel);
            //creates a newJLabel
            de2JLabel= new JLabel();
            de2JLabel.setBounds( 20, 380, 70, 35 );
            de2JLabel.setText("Details:");
            helpJPanel.add( de2JLabel);
            //creates a JButton
            startTestJButton = new JButton();
            startTestJButton.setBounds( 185, 205, 180, 60 );
            startTestJButton.setText( "START" );
            startTestJButton.setBackground( Color.YELLOW );
            helpJPanel.add( startTestJButton );
            startTestJButton.setEnabled(true);
            startTestJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        startTest();
            //sets up an animation panel
            testJPanel = new ShapeMovingPanel(this);
            testJPanel.setBounds( 16,16, 560, 375 );
            testJPanel.setBorder(new TitledBorder("Click the moving object:"));
            testJPanel.setLayout( null );
            testJPanel.setVisible(false);
            contentPane.add( testJPanel );
    // this is causing the animation to appear uneven
    // you can try the app with and without this to see
    //        testJPanel.addMouseMotionListener(this);
            //creates a newJLabel
            timeJLabel = new JLabel();
            timeJLabel.setBounds( 440, 330, 100, 35 );
            timeJLabel.setText("Time:");
            testJPanel.add( timeJLabel );
            //creates a new JTextField
            timerJTextField = new JTextField();
            timerJTextField.setBounds( 480, 335, 60, 24 );
            timerJTextField.setText(String.valueOf(timeLimit));
            timerJTextField.setHorizontalAlignment(JTextField.CENTER );
            timerJTextField.setEditable(false);
            timerJTextField.setBackground( Color.YELLOW );
            testJPanel.add( timerJTextField );
            resultsJPanel = new JPanel();
            resultsJPanel.setBounds( 16,16, 560, 375 );
            resultsJPanel.setBorder(new TitledBorder("HERE ARE YOUR RESULTS:"));
            resultsJPanel.setLayout( null );
            resultsJPanel.setVisible(false);
            contentPane.add( resultsJPanel );
            de3JLabel= new JLabel();
            de3JLabel.setBounds(20, 200, 530, 35 );
            de3JLabel.setText("Below is also the movements you made with your mouse, " +
                              "you may exit the program now.");
            resultsJPanel.add( de3JLabel);
            de4JLabel= new JLabel();
            de4JLabel.setBounds(135, 245, 530, 35 );
            de4JLabel.setText("Thank you for trying the Reaction Testing program");
            resultsJPanel.add( de4JLabel);
            //creates a newJLabel
            nameResultJLabel= new JLabel();
            nameResultJLabel.setBounds( 62, 55, 50, 35 );
            nameResultJLabel.setText("Name:");
            resultsJPanel.add( nameResultJLabel);
            //creates a new JTextField
            nameResultJTextField = new JTextField();
            nameResultJTextField.setBounds( 140, 55, 300, 24 );
            resultsJPanel.add( nameResultJTextField );
            nameResultJTextField.setEditable(false);
            //creates a newJLabel
            ageResultJLabel = new JLabel();
            ageResultJLabel.setBounds( 62, 90, 100, 35 );
            ageResultJLabel.setText("Age:");
            resultsJPanel.add( ageResultJLabel );
            //creates a new JTextField
            ageResultsJTextField = new JTextField();
            ageResultsJTextField.setBounds( 140, 90, 300, 24 );
            resultsJPanel.add( ageResultsJTextField );
            ageResultsJTextField.setEditable(false);
            //creates a newJLabel
            timeResultsJLabel = new JLabel();
            timeResultsJLabel.setBounds( 62, 125, 100, 35 );
            timeResultsJLabel.setText("Time taken:");
            resultsJPanel.add( timeResultsJLabel );
            //creates a new JTextField
            timeResultsJTextField = new JTextField();
            timeResultsJTextField.setBounds( 140, 125, 300, 24 );
            resultsJPanel.add( timeResultsJTextField );
            timeResultsJTextField.setEditable(false);
            //creates a newJLabel
            ratingJLabel = new JLabel();
            ratingJLabel.setBounds( 62, 160, 100, 35 );
            ratingJLabel.setText("Your Rating:");
            resultsJPanel.add( ratingJLabel );
            ratingJTextField = new JTextField();
            ratingJTextField.setBounds( 140, 160, 300, 24 );
            resultsJPanel.add( ratingJTextField );
            ratingJTextField.setEditable(false);
            //creates a JButton
            exitJButton = new JButton();
            exitJButton.setBounds( 235, 310, 90, 24 );
            exitJButton.setText( "Exit" );
            exitJButton.setBackground( Color.WHITE );
            resultsJPanel.add( exitJButton );
            exitJButton.setEnabled(true);
            exitJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when exitJButton is pressed
                    public void actionPerformed( ActionEvent event )
                        System.exit(0); //closes the programme
            }); // end anonymous inner class
            addWindowListener(new WindowAdapter()
                public void windowClosing(WindowEvent e)
                    System.exit(0);
            // set properties of application's window
            setTitle( "Reaction Tester - CMT3991" ); // set JFrame's title bar string
            //setSize( 1280,995 );    // set width and height of JFrame
            setSize( 608, 650 );         // set width and height of JFrame
            setVisible( true );       // display JFrame on screen
        //** set up of method main */
        public static void main( String[] args )
            RT application = new RT();
            application.setDefaultCloseOperation( EXIT_ON_CLOSE );
        } // end method main
        private void Login()
            try
                name = nameJTextField.getText();
                age = Integer.parseInt(ageJTextField.getText());
                startJPanel.setVisible(false);
                showJPanel.setVisible(false);
                helpJPanel.setVisible(true);
                infoJTextArea.setText("\n    Welcome "+name+" you will soon know how " +
                                      "fast your reactions are");
            catch (NumberFormatException exception)
                JOptionPane.showMessageDialog(this,
                        "There is either a blank field or a number hasn't been entered",
                        "Input Type error", JOptionPane.ERROR_MESSAGE);
                //shows this is something has been entered wrong
        private void startTest()
            helpJPanel.setVisible(false);
            shape = shapes[seed.nextInt(shapes.length)];
            testJPanel.setShape(shape);
            testJPanel.setVisible(true);
            testJPanel.start();
            startTime = System.currentTimeMillis();
            infoJTextArea.setText("");
         * called by animation panel after shape is clicked
        public void stop()
            endTime = System.currentTimeMillis();
            movingObject();
         * called by timer actionPerformed in ShapeMovingPanel
        public void updateTime()
            long timeNow = System.currentTimeMillis();
            double elapsed = (timeNow - startTime)/1000.0;
            timerJTextField.setText(timeDec.format(elapsed));
         * this will compete with your animation
         * ie, it will slow it down or make it appear jerky
        public void mouseMoved(MouseEvent e)
            saySomething("\n    Mouse moved", e);
        public void mouseDragged(MouseEvent e)
            saySomething("\n    Mouse dragged", e);
        void saySomething(String eventDescription, MouseEvent e)
            infoJTextArea.append(eventDescription
                         + " (" + e.getX() + "," + e.getY() + ")");
            infoJTextArea.setCaretPosition(infoJTextArea.getDocument().getLength());
        private void movingObject()
            testJPanel.setVisible(false);
            resultsJPanel.setVisible(true);
            nameResultJTextField.setText(name);
            ageResultsJTextField.setText(String.valueOf(age)+" years old");
            double elapsedTime = (endTime - startTime)/1000.0;
            timeLimit = (int)elapsedTime;
            timeResultsJTextField.setText(timeDec.format(elapsedTime)+" seconds");
            String mouse = infoJTextArea.getText();
            String tick = timeDec.format(elapsedTime);
            try
                // create a file called welch.txt
                final FileWriter outputFile = new FileWriter(name+".txt", true);
                final BufferedWriter outputBuffer = new BufferedWriter(outputFile);
                // converts data to a formatted string
                final PrintWriter printstream = new PrintWriter(outputBuffer);
                printstream.println("The person's name is: "+name);
                printstream.println("There age is: "+age);
                printstream.println("Time taken: "+tick+" seconds");
                printstream.println("The mouse moved as follows: "+mouse);
                //states what needs to be printed to the new file
                printstream.close(); // closes teh printstream
            catch(IOException eio)
                //catchs the IO exception
            if(timeLimit<5)
                ratingJTextField.setText("Thierry Henry");     
            if(timeLimit>5)
                ratingJTextField.setText("Average");     
            if(timeLimit>10)
                ratingJTextField.setText("You gotta be fat or something");     
            if(timeLimit>20)
                ratingJTextField.setText("See a doctor");
            String rate=ratingJTextField.getText();
        private void showData()
    //        String results = "";
    //        infoJTextArea.setText("Here are your results:\n"+results);
            startJPanel.setVisible(false);
            showJPanel.setVisible(true);
    class ShapeMovingPanel extends JPanel implements ActionListener
        RT host;
        Timer timer;
        Shape shape, xformed;
        int x, y, dx, dy;
        public ShapeMovingPanel(RT rt)
            host = rt;
            timer = new Timer(25, this);
            x = 0;
            y = 0;
            dx = 2;
            dy = 3;
            setBackground(Color.pink);
            addMouseListener(new ShapeTender());
        public void actionPerformed(ActionEvent e)
            int w = getWidth();
            int h = getHeight();
            if(w <= 0 || h <= 0)
                return;
            checkBoundries(w,h);
            x += dx;
            y += dy;
            repaint();
            // update RT.timerJTextField
            host.updateTime();
        private void checkBoundries(int w, int h)
            Rectangle r = xformed.getBounds();
            Insets insets = getInsets();
            if(r.x + dx < insets.left || r.x + r.width + dx > w - insets.right)
                dx *= -1;
            if(r.y + dy < insets.top || r.y + r.height + dy > h - insets.bottom)
                dy *= -1;
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            AffineTransform at = AffineTransform.getTranslateInstance(x, y);
            g2.setPaint(Color.red);
            xformed = at.createTransformedShape(shape);
            g2.draw(xformed);
        public void start()
            if(!timer.isRunning())
                timer.start();
        public void setShape(Shape s)
            shape = s;
            Rectangle r = shape.getBounds();
            x = r.x;
            y = r.y;
            repaint();
        private class ShapeTender extends MouseAdapter
            public void mousePressed(MouseEvent e)
                if(xformed.contains(e.getPoint()))
                    timer.stop();
                    host.stop();
    }

  • Need some help with Slow Downs in Java3D and Servlets

    Hi,
    I realize that there is a separate forum for Java 3D, but I posted there, and did not get any response. This is kinda the crux of my program, so I would like to invite anybody on this forum with knowledge of Java 3D and servlets to give it a stab. Between this post and that one, there are TWENTY duke dollars up for grabs.
    Thanks.
    http://forum.java.sun.com/thread.jspa?threadID=603198

    Let me have an educated guess.
    You calculated the time elapsed before sending in a server request - and at that point you have you updated timeLastStateChange yet, which means by the time of the next calculation of time elapsed this apparent delay is not counted in, hence the slow down in animation rate.
    Hope this helps~
    Alex Lam S.L.

  • Photoshop CC slows down suddenly, for several minutes

    Hi!
    I have a problem with Photoshop CC. I sit on a 27" iMac, 8GB RAM and an i5 processor, OS X Mavericks, Wacom intuos Pro tablet.
    My problem, that suddenly occurs is tha Photoshop CC suddenly slows down to a halt. No error messages, it just gets very very slow. The first sign is that I suddenly cant zoom. I try to zoom, and nothing happens. Then the cursor, still able to move around with no problem, wont change to an arrow when hovering over buttons or menu items. If I open Safari, everything works fine, exept if I go back to Photoshop, then only the properties window will show. Photoshop is like this for up to ten minutes, then suddenly everything happens at once. All the zooming, closing of images if I tried that (with the keyboard), and then it is all fine again.
    The problem occurs both when I do complex work with many layers, but also when doing simpler work with just a few layers.
    I have 850GB free storage space and Photoshop is allowed to use 5GB of RAM. I usually dont have open more than two pictures at once. I use Lightroom 5, and PS CC as an external editor.
    Any ideas how to solve this? It does sound like PS is writing alot to the HD sometimes, but it should not get this slow anyway, and the program does not freeze as in software error. I dont need to force quit PS, I just need to wait it out. Very annoying!
    Sorry for my bad English! It is not my first language

    Tells us a bit more about the work you are doing:
    How many layers?
    What types of layers? Shape? Text? etc.
    Document dimensions?
    Bit depth?
    File size on disk?
    Also, tell us a little about how things are set up:
    Where is your scratch disk?
    How much free space on that disk?
    How much RAM?

  • My mid 2011 MacBook Air has slowed down significantly overnight?

    Last night my MacBook Air was working fine.
    When I went to use it this morning, it has slowed down significantly. It takes awhile for it to respond to trackpad movement or the keyboard. Opening finder is delayed now, opening any app is delayed now. Booting it back up takes extra long now, probably around a minute compared to thirty seconds before.
    I've tried an SMC reset, repairing the disk and repairing disk permissions.
    From what I can see, the hardware doesn't appear to be failing, but I could be wrong.
    Can anyone help me out? What could possibly be going on with my MacBook? How did this happen overnight?

    Your MacBook Air's memory is not upgradable, and as you already determined unused storage capacity is not a relevant factor.
    There are many reasons a Mac may be performing slower than expected.
    Back up your documents and everything else important to you before proceeding.
    To help determine the possible causes of this behaviour read the following. None of what follows is intended to fix anything, but it will provide the additional information required to advance troubleshooting:
    Boot OS X Recovery by holding ⌘ and r (two fingers) while you start your Mac. At the Mac OS X Utilities screen, select Disk Utility. Select your startup volume (usually named "Macintosh HD") and click the Repair Disk button. Describe any errors it reports in red.
    When it finishes restart your Mac and test again for operation. If it's still not behaving as you expect it should, please post the results of EtreCheck in accordance with the following instructions:
    Apple Support Communities contributor etresoft wrote a very useful app to quickly gather certain system information that may help point to a cause of this problem. Go to his website, download and run EtreCheck:
    http://www.etresoft.com/etrecheck
    Etrecheck will be in your Downloads folder. Open it from there. You may see the following dialog box:
    Click Open - etresoft contributes to this forum frequently and can be considered a trustworthy developer.
    It will take a moment to run as it collects its data.
    Copy and paste its output in a reply.
    Do not be concerned about anything that says "Problem" or “failed” or anything else that may appear in red.
    EtreCheck was designed to remove any personal information (such as your computer's name and serial numbers) but if you see anything that looks like an email address or any other personal information that should not be divulged to others, please delete or obscure that information when you post the reply.
    When you are finished with EtreCheck, quit the program. It occupies very little space, and you can keep it or drag it to the Trash as you wish.
    After completing the above please determine if the problems also occur in "Safe Mode":
    Safe Mode or "Safe Boot" is a troubleshooting mode that bypasses all third party system extensions and loads only required system components. Read about it: Starting up in Safe Mode
    You must disable FileVault before you can start your Mac in Safe Mode.
    Starting your Mac in Safe Mode will take longer than usual, graphics will not render smoothly, audio is disabled on some Macs, and some programs (iTunes for example) may not work at all.
    Merely starting your Mac in Safe Mode is not intended to resolve the problem, it's to observe its performance without certain additional components.
    To end Safe Mode restart your Mac normally. Shutdown will take longer as well.
    To identify potential hardware problems: Apple Hardware Test.

  • My mid 2011 MacBook Air fell off my couch onto carpet. Slowed down.

    I made a post a few weeks ago about how my mid 2011 MacBook Air slowed down randomly over night. A few days later it randomly started functioning properly again. I was stoked.
    Today, I was using my MacBook on the couch, when it slipped off and landed on the carpet bottom up with the lid closed.
    The moment I opened it up again, it was back to being slow again.
    I ran the Disk Utility, tried repairing it, it said that the hard drive 'appeared to be ok'
    But yeah. I'm gonna say it's a pretty safe to assume that the drop has everything to do with the slow response time.
    Would anyone happen to know what actually might have went wrong, though?

    I would think a poor connection of some sort, may be a plug and socket or a soldered joint problem. I think you need to take it in for repair, I cannot think it will be software that is causing the fault, but...... you never know.

  • New Mac has slowed down dramatically

    My mac is only a few weeks old and I have noticed that it has slowed down dramatically. It takes quite awhile for programs to load. The fill-in boxes are not keeping up with my typing and it is getting quite annoying. I am new to Imac, so I am not sure how to go about checking the processing speed, etc. Any help would be appreciated.

    Check out this thread:
    http://discussions.apple.com/thread.jspa?messageID=7114123

  • Internet speeds keep slowing down to a crawl

    I'm having a problem that has only developed in the past week which was during a time when I haven't changed any configurations in that period of time since my son was born a week ago yesterday and I obviously had more important things to do than mess with my network configurations. However, about 2 weeks prior to his birth, in the process of configuring a baby monitoring system with icam source, 3 weeks or so ago, I read that I might be able to improve my internet performance, I ran googles namebench a couple of times and added and re-ordered the DNS servers that had been listed prior to any problems developing based on its' reports. My internet speeds improved as a result of changing those DNS settings and stayed good until the past week. But of course, we now need to use the computer as part of our baby monitoring system and it's not working worth a **** and I'm getting frustrated since I can't put my finger on the problem and I don't really have time to spin around in circles right now. I'm sure it's probably something simple and I can't put my finger on it though. Sleep deprivation is new to me.......
    I've kept running log of notes so this is a little deshoveled but I figured the more information I provide the better the chance someone might help me get this solved quickly.
    In the last week, since my sons birth, my internet speeds would be okay after restarts and resetting everything, 2.5 Mbps or so but after a 10-15 minutes it starts to slow down to .2-.3 Mbps. I went thru all my network settings, restarted everything, repaired permissions, I've changed ethernet cables reset PRAM, firewall is running, stealth mode enabled, allow signed software incoming connections and my various other programs such as netsessionmac4f3c6b, skype, java, itunes, etc.
    All sharing services off and pretty basic login items at startup including growl.
    I had AT&T come out and check my DSL line and everything checked out on their end up to and out of the DSL modem based in their equipment tests.
    The problem seems to start when I connect my imac (a fairly loaded 27" imac I got in Dec.) First off, as soon as the imac is connected to the modem via ethernet, the old ethernet modem flashes and continues to flash, even right after startup. So the tech thought something was running in the background and I can't figure out what. I looked through login items but don't see anything that would be a problem and am afraid to eliminate everything.
    So I created a guest account to eliminate any login items (I think) and in I got 5.69 Mbps right off the bat. But after a minute or two, without changing anything my download speed slows down and I get for example .77 Mbps. The same thing happens with my administrator account on the imac. Fast speeds at startup and more importantly if I change the configuration by switching between ethernet and airport, I get fast speeds right after changing the configuration but after a minute or two I am well below 1.0 Mbps. I've got several network configurations with automatic, airport and ethernet set up in different ways including a clean ethernet connection with the original DNS settings.
    I haven't set up an airport only account but that really isn't the way I want to hook up the computer that sits right next to the modem and runs my network. Restarting the old modem and direct connecting the computer to the modem results in the same thing happening.
    I connected my ethernet from the (old?) modem directly to my ancient powerbook G4 and I got +5.6 Mbps download but it also slowed down to 300 kbps after 5 minutes or so the first time (old modem?)
    Now to explain why I have "old?" listed above. I was then able to get a new DSL modem from AT&T, hook it up just fine, get enormously faster internet service in the 5,000 kbps only to have it slow back down to around 300 kpbs after connected for several minutes.
    directly connected to imac-bypassing router
    3,500 kbps
    after 15 minutes-250 kbps
    connected to imac thru router/time capsule with airport extreme
    2500 kbps
    after 15 minutes=166 kbps
    directly connected to an older powerbook G4 with new modem
    IP address of 192.168.1.64
    5.65 Mbps on speedtest
    after 15 minutes=5.67 Mbps
    after 30 minutes= 5.59 Mbps
    1 hour-5.66 Mbps
    Very solid, stable readings for what I am used to. This would seem to isolate the problem to the imac.
    directly connected to imac with new modem
    IP address of 192.168.1.64
    5.8 Mbps on speedtest
    after 30 minutes= .60 Mbps-ping takes 250 ms
    1 hour= .46 Mbps-ping takes 250 ms
    Now a problem that only started last night after I hooked up the new modem and started up my old Time capsule/airport configuration, I got a message that said something to effect of "another device on this network is using computer IP address 192.168.1.64. So I tried manually changing last digit of the IP address on the computer to one number higher and it kept saying the start and end range were incorrect so I shut the airport station down since when it was connected, it would not allow the computer to connect thru the router via ethernet. I did a hard reset on the airport and I got it back up and running just fine but the internet speeds on the imacs' ethernet connections are so slow it's practically worthless. I also checked to see what was connected to my airport on any given occasion, 2 iphones, 2 pads, another imac running upstairs and a newer powerbook running icam source that is supposed to be the baby monitor. Except for the laptop everything can use "802.11n" but the powerbook only connects via 802.11g so I have set the airport to that limiting setting.
    Any suggestions? Is there a way for me to log what is happening so I can report in more detail?

    First thing is to check if the wireless is on a sensible channel: HomeHub doesn't always make sensible choices.  Install inSSIDer on your laptop and see what other devices there are around and if there is any clash.  Also, try moving the HomeHub around a little, even quite small differences can make a big difference to wireless signals.
    You could run an ethernet cable from downstairs to upstairs.  Easy to do, but can be a bit unsightly.  If most of your devices are upstairs, you could use this cable to connect the modem to the HomeHub.  If you have devices both up and down, you may want to keep the HomeHub downstairs and add a switch upstairs.
    HomePlug may be suitable for you.  If you search Amazon for HomePlug you will see a couple of kits for just over £30.  Don't go for an 85Mbps one.  A 200Mbps such as the TP-link or D-Link should be much better than wireless, but not as good as a cable.
    Depending excatly how many devices you want to connect and where, you can pay more and have a builtin wireless at one end: http://www.amazon.co.uk/Devolo-1408-Wireless-N-HomePlug-Adapter/dp/B00472MMCQ/ref=sr_1_15?ie=UTF8&qi...  Or it may be best for you to use the basic devices and add an old wireless router in switch mode.

Maybe you are looking for

  • Function Module to get planned Quantity from posting date

    hi, i need one function module which takes plant and posting date date as an input parameter and get the Planned quantity for that range of that ...i dont want to fetch it from material since the report is run for the whole plant(werks).so it has got

  • Running the ALV report in Background using layout variant

    Hello Everyone, I am facing a problem in downloading a text file to the Application server. My requirement is, when the user downloads a file with the layout variant, the file should have only the columns which was selected in the variant. Can anybod

  • PR price should flow in Contract/sa/po

    hi, i have one requirement that user enter the Price in valuation price in Valuation tab of Purchase requistion . this price should flow into PO and can't be cahnged.Is there any setting is there thanks in advance Rami Reddy

  • How do I get out of "full screen mode" on my tablet?

    I don't know how I got into full screen mode first of all and I can not figure out how to get out of full screen mode. I have a tablet, my toolbar with the menu symbol is missing at the top and the bar at the bottom is missing. I don't have any keys

  • My Time Machine Strategy for both iMac and MacBook...

    1) Get 1TB external drive, format as HFS+ (including the Gizmodo hint about reformatting Fat32 drives properly by setting GUID Partition table) 2) Attach external drive to MacBook directly-run Time Machine overnight for initial full backup 3) Attach