public void actionPerformed(ActionEvent e)
			{
				new Thread()
				{
					public void run()
					{
						Main.enableButtons(false);
						btnUpdateAll.setEnabled(false);
						btnUpdateAll.setText("Updating All");
						synchronized(m)
						{
							//disable the buttons
							for(Component comp: hideComponents)
							{
								comp.setEnabled(false);
							}
							
							//disable the update buttons
							for(Entry<Show, JButton> update: uData.entrySet())
							{
								update.getValue().setEnabled(false);
							}
							
							//disable the add show button and text field
							addName.setEnabled(false);
							btnAdd.setEnabled(false);
							
							for(int i=0; i<ShowTracker.shows.size(); ++i)
							{
								Show show = ShowTracker.shows.get(i);
								JButton button = uData.get(show);
								try
								{
									synchronized(m)
									{
										Color c = button.getBackground();
										button.setBackground(Color.LIGHT_GRAY);
										button.setText("Updating");
										show.update();
										button.setBackground(c);
										button.setText("Updated");
									}
								}
								catch(Exception e)
								{
									button.setText("Update failed");
								}
							}
							
							//reenable the delete buttons and add show components
							for(Component comp: hideComponents)
							{
								comp.setEnabled(true);
							}
							addName.setEnabled(true);
							btnAdd.setEnabled(true);
							
							btnUpdateAll.setText("Updated All");
						}
						Main.enableButtons(true);
					}
				}.start();
			}