ITunes now becomes non-responsive when adding new music

Hello.
For a few months now iTunes has gone from quick importing of new mp3 and m4a files from my desktop, down to very slow importing after a long pinwheel, and now finally the endless pinwheel whenever I add any files. (It can go on hours, and requires force quit).  My collection is large (50k files / 1TB or so), and the media sits on an external hard drive, but I have tried creating a new library from scratch on the desktop (and internal hard drive) and I still get the same endless pinwheel when adding just a few new files.  The only other clue I have is that when the importing slowness just started, a third party metatagging application I use (TuneUp) was not recognizing the newly imported files as having been imported by iTunes, whereas I did use iTunes to import.
I am loathe to create a new library altogether as I've done much editing within iTunes to my large collection.  (See this article: iTunes: How to re-create your iTunes library and playlists - Apple Support)
I am using latest Yosemite version (10.10.2) on a 2011 Mac Mini with a recent SSD inside (iTunes worked fine after the SSD upgrade a year ago).
Thanks for any help!

Start by removing "TuneUp." See whether there's an improvement.
Any third-party software that doesn't install by drag-and-drop into the Applications folder, and uninstall by drag-and-drop to the Trash, is a system modification.
Whenever you remove system modifications, they must be removed completely, and the only way to do that is to use the uninstallation tool, if any, provided by the developers, or to follow their instructions. If the software has been incompletely removed, you may have to re-download or even reinstall it in order to finish the job.
I never install system modifications myself, and except as stated in this comment, I don't know how to uninstall them. You'll have to do your own research to find that information.
Here are some general guidelines to get you started. Suppose you want to remove something called “BrickMyMac” (a hypothetical example.) First, consult the product's Help menu, if there is one, for instructions. Finding none there, look on the developer's website, say www.brickmymac.com. (That may not be the actual name of the site; if necessary, search the Web for the product name.) If you don’t find anything on the website or in your search, contact the developer. While you're waiting for a response, download BrickMyMac.dmg and open it. There may be an application in there such as “Uninstall BrickMyMac.” If not, open “BrickMyMac.pkg” and look for an Uninstall button. The uninstaller might also be accessed by clicking the Customize button, if there is one.
Back up all data before making any changes.
You will generally have to restart the computer in order to complete an uninstallation. Until you do that, there may be no effect, or unpredictable effects.
If you can’t remove software in any other way, you’ll have to erase and install OS X. Never install any third-party software unless you're sure you know how to uninstall it; otherwise you may create problems that are very hard to solve.
Trying to remove complex system modifications by hunting for files by name often will not work and may make the problem worse. The same goes for "utilities" such as "AppCleaner" and the like that purport to remove software.

Similar Messages

  • CS4 becomes non-responsive when I right click

    When I go to open a document in CS4 and then try to right click, delete or move files while I'm in the open screen, Photoshop becomes non-responsive and I have to shut it down and restart it, thereby losing any unsaved work. It's been doing it for awhile and I've tried to find a solution, but haven't had any luck. I've deleted my cache and that didn't fix the problem.
    Can anyone help, please?

    Check the mouse/driver.  The functions you mention are controlled by the OS even though you are in PS.

  • Automatically Add Album Artwork when adding new music

    Does anyone know how you can have iTunes automatically discover the album artwork, if you already have it?
    I am backing up CDs and music which I already have converted to some digital format, and trying to compile all my music together from my wife and myself in a central location.
    Many of the artist music folders already have an artwork image there associated with it.
    So when adding a folder, is there a way to have iTunes automatically "see" that album cover? Would it be a convention for naming the file? Or a file size/picture size thing? Or place it in a specific location when importing?
    Yes, I do know you can manually do it, which is fine for an album or two. But our collective media libraries are a mess, and there are hundreds of albums to import.
    Also, I know you can use iTunes to "Search for missing album art work" but I also know that process is flawed, does not always turn up the correct art, and also does not code the artwork along with the track, so if you move music later on, the whole process starts over again.
    I would imagine there has to be a way to kick iTunes to recognize the associated artwork automatically upon import. Any suggestions?
    (ps - i use Windows XP Pro, iPhone 3G 16GB, iTunes 9.0.3.15)

    ed2345 wrote:
    Smart Playlists allow you to add tracks from the library to the playlists, according to rules. If the track is not in the library, Smart Playlists will not do anything with it. They do not help iTunes to notice that new files have been added to folders.
    If it's not in the library, iTunes won't play it...
    If you're adding music to iTunes, use the Add to Library function. That's what it's there for. iTunes will be happy that way and if you have smart playlists set up, they will be filled with the new additions.
    Tracy

  • ITunes 10.3.1 freezing when adding new tracks (library located on external HD)

    Installed the new iTunes 10.3 beta earlier and tried to add new songs into my library. However, it takes approx 30 mins to add 4 songs and sometimes it simply won't even add and just freezes. I tried updating to 10.3.1 and the problem persists. I haven't seen anyone post this problem, the closest I have found are others' iTunes freezing when syncing with iOS devices. I'm not sure if it makes a difference but my library is located on an external HD and the option to "Copy to iTunes library" is ticked. However, I doubt that's the main problem since if I actually wait it out and add only 1,2 songs at a time it still works, although it just takes a random amount of time to add (5+ minutes per song).
    I'm hoping someone has a solution or can identify this as a bug? I've been considering downgrading to iTunes 10.2.2 so I can actually add songs to my library (but can't seem to find a link anywhere to 10.2.2). If someone could provide a link to 10.2.2, it would be incredibly helpful as well. Thanks in advance,

    Hi,
    finally worked! I found this post and it has finally worked I understand it is the same as WHATHECK's answer so thanks WHATHECK!
    You have to be certain that you have backed up your Library's and Playlists and that you are doing the one in the root (if like me you use a HD any old library/playlists instead of deleting them put them some were safe just incase and make sure you are re-creating the library from your root folder i.e user/music/itunes
    Anyone trying thishttps://discussions.apple.com/message/15093132#15093132
    Good luck!
    Seriously thinking of not updating itunes next time...

  • Photoshop Elements 10 becomes non-responsive when using Dust & Scratch filter

    Trying to apply the remove dust & noise filter in PS Elements 10. When the filter is applied, the hand tool becomes locked on and nothing further can be selected.  All menu options become greyed out.  Cannot even close program, have to force quit (running Mac OS X Lion 10.7.4).  Have already reset all tool options to try & resolve the hand tool locking.  Have only encountered problem with this filter. 
    I've got a bunch of scanned photos I really need to use the Dust & Scratches filter for.  Any help would be appreciated!

    Restore default preferences
    Preference settings control how Photoshop Elements displays images, cursors, and transparencies, saves files, uses plug‑ins and scratch disks, and so on. If the application exhibits unexpected behavior, the preferences file may be damaged. You can restore all preferences to their defaults.
    Press and hold Alt+Control+Shift immediately after Photoshop Elements begins launching. Click Yes to delete the Adobe Photoshop Elements settings file. 
    A new preferences file is created the next time you start Photoshop Elements.

  • Firefox becomes non-responsive when I use hotmail, and stops working. Why?

    Whenever I sign into my hotmail account, Firefox stops working. The entire window dulls and I cannot do anything. This only happens with Hotmail.

    I've started having the same problem quite frequently. The iTunes store is quite often extremely slow, and when it's like that, using the search box renders iTunes useless. Then I have to end-task from the task manager. I just went through that process three times in a row and finally the forth time I was able to search.
    iTunes 9.0.3

  • Keyboard sometimes becomes non responsive when browsing.

    It doesn't happen all the time, just randomly. If I quit chrome then the window shoots to the left of the screen. I drag it back over & it's working again. any ideas?

    Check the mouse/driver.  The functions you mention are controlled by the OS even though you are in PS.

  • Now that I was sent by Microsoft to your download update site to get the latest version 4.0.1, Firefox crashes (becomes non-responsive) before opening any site page I try. When will you fix this problem?

    For two weeks I have tried to use your automatic download of the latest version 4.0.1. It would sit there telling me it is trying to connect to the download computer for hours, several times overnight. Then, it became non-responsive and error messages were sent to Microsoft who directed me to your download site. After downloading your latest version several times, the new page would open. After selecting a bookmarked site, it would open (sometimes only partially) but when I tried to scroll down, it would freeze up and become non-responsive, again prompting error messages to Microsoft. They must be getting a kick out of this. I'm running a Gateway 7200S desktop with Microsoft XP and Intel single range Pentium 4 processor. I have been using your Mozilla Firefox as my default browser for several years with much satisfaction. Unfortunately, whatever upgrades were made have rendered it useless for me.

    I have had a similar problem with my system. I just recently (within a week of this post) built a brand new desktop. I installed Windows 7 64-bit Home and had a clean install, no problems. Using IE downloaded an anti-virus program, and then, because it was the latest version, downloaded and installed Firefox 4.0. As I began to search the internet for other programs to install after about maybe 10-15 minutes my computer crashes. Blank screen (yet monitor was still receiving a signal from computer) and completely frozen (couldn't even change the caps and num lock on keyboard). I thought I perhaps forgot to reboot after an update so I did a manual reboot and it started up fine.
    When ever I got on the internet (still using firefox) it would crash after anywhere between 5-15 minutes. Since I've had good experience with FF in the past I thought it must be either the drivers or a hardware problem. So in-between crashes I updated all the drivers. Still had the same problem. Took the computer to a friend who knows more about computers than I do, made sure all the drivers were updated, same problem. We thought that it might be a hardware problem (bad video card, chipset, overheating issues, etc.), but after my friend played around with my computer for a day he found that when he didn't start FF at all it worked fine, even after watching a movie, or going through a playlist on Youtube.
    At the time of this posting I'm going to try to uninstall FF 4.0 and download and install FF 3.6.16 which is currently on my laptop and works like a dream. Hopefully that will do the trick, because I love using FF and would hate to have to switch to another browser. Hopefully Mozilla will work out the kinks with FF 4 so I can continue to use it.
    I apologize for the lengthy post. Any feedback would be appreciated, but is not necessary. I will try and post back after I try FF 3.16.6.

  • I have a Ipod touch and recently added new music to my itunes library on my laptop. When I sync with my ipod, the new music does not show up on my ipod even though the sync process seems to be working.

    I have an Ipod touch and recently added new music to my Itunes library. When I sync with the library, the new music does not show up on my ipod. The sync process seems to be working and there is still plenty of space on the Ipod for new music so I'm not sure what the problem is!

    What happens when you try to sync?
    Was the iPod previous synced to another iTunes library/computer?
    Have you successfully synced from this iTunes library/computer before?
    Do the songs play in iTunes?
    Do you have the right boxes checked to sync?
    iTunes: Syncing media content to iOS devices and iPod        
    Do you have any Restrictions (Settings>General>Restrictions) set that would prevent syncing those songs?

  • How to move iTunes Library/Media Files to external firewire Hard Drive and make it the master library, and then point iTunes to that  when adding new content??

    How to move iTunes Library/Media Files to external firewire Hard Drive and make it the master library, and then point iTunes to that  when adding new content??

    Copy your ENTIRE iTunes FOLDER to an External Drive...
    Full Details Here  >  http://support.apple.com/kb/HT1751
    To Operate iTunes from the External Drive...
    Start iTunes with the Option key held down and guide it to the new location of the library.
    Be Sure the drive is Formatted Mac OS Extended (journaled)
    Also...  have a look at these 2 Videos...
    http://macmost.com/moving-your-itunes-library.html
    http://macmost.com/moving-your-itunes-media-to-an-external-drive.html

  • Address Book becoming non-responsive

    I have taken the I-mac (Lion 10.75) to the genius bar 3 times because the Address book program becomes non responsive after I spend some trying to clean up duplicate addresses (merging them) and updating information.    The first time they said to remove one of the Address book preferences, then the last time, after re-installing trhe operating system, they said to remove ALL the preferrences if it happened again.   It did, and I did, but it did not work.   Specifically, the adress book will not search by name and continues to download duplicate adresses from some mysterious place that is not I-Cloud because the addresse are (mostly) in order on the Cloud. 
    Does anybody have a fix?  Or a recommendation for another address book program that I can synch between I-Mac, I phone and tablets? 

    Note: These instructions are for OS X 10.8 or later. In OS X 10.7, the procedure is the same, but the application is named "Address Book" instead of "Contacts."
    Step 1
    Back up all data.
    Triple-click the line below on this page to select it:
    ~/Library/Caches/com.apple.AddressBookSourceSync
    Right-click or control-click the highlighted line and select 
    Services ▹ Reveal
    from the contextual menu.* A folder should open with an item selected. Move the selected item to the Trash. Log out, log back in, and test. If there's no change, go to the next step.
    *If you don't see the contextual menu item, copy the selected text to the Clipboard (command-C). In the Finder, select
    Go ▹ Go to Folder...
    from the menu bar, paste into the box that opens (command-V). You won't see what you pasted because a line break is included. Press return.
    Step 2
    A. If you use iCloud, uncheck the box marked Contacts in the iCloud preference pane. Press return to confirm, or click  Keep on Mac in the dialog that opens.
    B. From the list of groups on the left side of the Contacts window, select All On My Mac. If that group doesn't exist or is empty, skip this step. Otherwise, from the menu bar, select
    File ▹ Export ▹ Export vCard
    Save the exported contacts to the Desktop.
    C. Quit Contacts. Triple-click the text on the line below on this page to select it, then copy it to the Clipboard (command-C):
    ~/Library/Application Support/AddressBook
    In the Finder, select
    Go ▹ Go to Folder
    from the menu bar, paste into the box that opens (command-V), and press return.
    A Finder window will open with a folder selected. Move the selected folder to the Desktop, leaving the window open for now.
    D. Launch Contacts. Your contacts will be gone. If you took Step 2, then double-click the file you created in that step and confirm that you want to import from it. Your contacts will reappear.
    E. Re-enable Contacts in the iCloud preference pane, if you disabled it. Test. If the issue is resolved, delete the AddressBook folder and the vCard file on the Desktop and close the open folder window.
    Otherwise, quit Contacts again and put the AddressBook folder back where it was, overwriting the newer one that will have been created in its place. Post your results.

  • Itunes 10.4.1 not adding new music files

    I recently upgraded my itunes to 10.4.1 and am having trouble adding new music to my library which is contained on an external hard drive. My preference setting are correct, hard drive permissions are correct and have no problems playing any of my existing music. When I drag new music into itunes they are processed and it shows the tracks that I have attempted to copy, but they never get officially added to the library or copied to my media folder. Itunes just hangs there with each of the tracks having the little jog wheel next to it. Itunes isn't frozen as I can still navigate it and play existing songs, but those new songs never get added, copied or are able to be played. If I close itunes and relaunch it, ocassionly I will have succes adding an album, but I am looking at a success rate of 1 out of 10.  Where is the problem? Is it with itunes? Is it with my hard drive?
    Thanks,
    Andrew

    Hi,
    I'm also still having this problem and have posted numerous times on this over the last few months and it still hasnt been fixed, the only way to get around it is to recreate your library which is a pain as when I have done this not only do you lose new playlists because my HD lost connection to my mac/preferences it decided to consolidate my library and transfer a large section to my Mac....not good! I now also have a problem were when I copy in new items to Music it either creates a playlist or I get a spinning wheel!
    Im beyond bored of the new versions of iTunes and I'm thinking of moving to a more stable player as I waste numerous hours recreating library (which is a problem and waste of time) only for it to happen again!
    Pointless.
    I have also never seen a fix for this problem!

  • TableSorter errors when adding new data

    so here is the deal:
    I am using the TableSorter.java helper class with DefaultTableModel
    from: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
    It works great when the data is static and I get it for the first time. however, occationally, when adding new data I get a NullPointerException error.
    in use:
    DefaultTableModel.addRow()
    DefaultTableModel.removeRow() and
    DefaultTableModel.insertRow() methods.
    Error:
    java.lang.ArrayIndexOutOfBoundsException: 5
         at com.shared.model.TableSorter.modelIndex(TableSorter.java:294)
         at com.shared.model.TableSorter.getValueAt(TableSorter.java:340)
         at javax.swing.JTable.getValueAt(Unknown Source)
         at javax.swing.JTable.prepareRenderer(Unknown Source)...
    code problem I:
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        }code problem II:
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        }TableSroter class:
    package com.shared.model;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.util.List;
    import javax.swing.*;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.*;
    * TableSorter is a decorator for TableModels; adding sorting
    * functionality to a supplied TableModel. TableSorter does
    * not store or copy the data in its TableModel; instead it maintains
    * a map from the row indexes of the view to the row indexes of the
    * model. As requests are made of the sorter (like getValueAt(row, col))
    * they are passed to the underlying model after the row numbers
    * have been translated via the internal mapping array. This way,
    * the TableSorter appears to hold another copy of the table
    * with the rows in a different order.
    * <p/>
    * TableSorter registers itself as a listener to the underlying model,
    * just as the JTable itself would. Events recieved from the model
    * are examined, sometimes manipulated (typically widened), and then
    * passed on to the TableSorter's listeners (typically the JTable).
    * If a change to the model has invalidated the order of TableSorter's
    * rows, a note of this is made and the sorter will resort the
    * rows the next time a value is requested.
    * <p/>
    * When the tableHeader property is set, either by using the
    * setTableHeader() method or the two argument constructor, the
    * table header may be used as a complete UI for TableSorter.
    * The default renderer of the tableHeader is decorated with a renderer
    * that indicates the sorting status of each column. In addition,
    * a mouse listener is installed with the following behavior:
    * <ul>
    * <li>
    * Mouse-click: Clears the sorting status of all other columns
    * and advances the sorting status of that column through three
    * values: {NOT_SORTED, ASCENDING, DESCENDING} (then back to
    * NOT_SORTED again).
    * <li>
    * SHIFT-mouse-click: Clears the sorting status of all other columns
    * and cycles the sorting status of the column through the same
    * three values, in the opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.
    * <li>
    * CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except
    * that the changes to the column do not cancel the statuses of columns
    * that are already sorting - giving a way to initiate a compound
    * sort.
    * </ul>
    * <p/>
    * This is a long overdue rewrite of a class of the same name that
    * first appeared in the swing table demos in 1997.
    * @author Philip Milne
    * @author Brendon McLean
    * @author Dan van Enckevort
    * @author Parwinder Sekhon
    * @version 2.0 02/27/04
    public class TableSorter extends AbstractTableModel
        protected TableModel tableModel;
        public static final int DESCENDING = -1;
        public static final int NOT_SORTED = 0;
        public static final int ASCENDING = 1;
        private static Directive EMPTY_DIRECTIVE = new Directive(-1, NOT_SORTED);
        public static final Comparator COMPARABLE_COMAPRATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return ((Comparable) o1).compareTo(o2);
        public static final Comparator LEXICAL_COMPARATOR = new Comparator()
            public int compare(Object o1, Object o2)
                return o1.toString().compareTo(o2.toString());
        private Row[] viewToModel;
        private int[] modelToView;
        private JTableHeader tableHeader;
        private MouseListener mouseListener;
        private TableModelListener tableModelListener;
        private Map columnComparators = new HashMap();
        private List sortingColumns = new ArrayList();
        public TableSorter()
            this.mouseListener = new MouseHandler();
            this.tableModelListener = new TableModelHandler();
        public TableSorter(TableModel tableModel)
            this();
            setTableModel(tableModel);
        public TableSorter(TableModel tableModel, JTableHeader tableHeader)
            this();
            setTableHeader(tableHeader);
            setTableModel(tableModel);
        private void clearSortingState()
            viewToModel = null;
            modelToView = null;
        public TableModel getTableModel()
            return tableModel;
        public void setTableModel(TableModel tableModel)
            if (this.tableModel != null)
                this.tableModel.removeTableModelListener(tableModelListener);
            this.tableModel = tableModel;
            if (this.tableModel != null)
                this.tableModel.addTableModelListener(tableModelListener);
            clearSortingState();
            fireTableStructureChanged();
        public JTableHeader getTableHeader()
            return tableHeader;
        public void setTableHeader(JTableHeader tableHeader)
            if (this.tableHeader != null)
                this.tableHeader.removeMouseListener(mouseListener);
                TableCellRenderer defaultRenderer = this.tableHeader.getDefaultRenderer();
                if (defaultRenderer instanceof SortableHeaderRenderer)
                    this.tableHeader.setDefaultRenderer(((SortableHeaderRenderer) defaultRenderer).tableCellRenderer);
            this.tableHeader = tableHeader;
            if (this.tableHeader != null)
                this.tableHeader.addMouseListener(mouseListener);
                this.tableHeader.setDefaultRenderer
                        new SortableHeaderRenderer(this.tableHeader.getDefaultRenderer())
        public boolean isSorting()
            return sortingColumns.size() != 0;
        private Directive getDirective(int column)
            for (int i = 0; i < sortingColumns.size(); i++)
                Directive directive = (Directive)sortingColumns.get(i);
                if (directive.column == column)
                    return directive;
            return EMPTY_DIRECTIVE;
        public int getSortingStatus(int column)
            return getDirective(column).direction;
        private void sortingStatusChanged()
            clearSortingState();
            fireTableDataChanged();
            if (tableHeader != null)
                tableHeader.repaint();
        public void setSortingStatus(int column, int status)
            Directive directive = getDirective(column);
            if (directive != EMPTY_DIRECTIVE)
                sortingColumns.remove(directive);
            if (status != NOT_SORTED)
                sortingColumns.add(new Directive(column, status));
            sortingStatusChanged();
        protected Icon getHeaderRendererIcon(int column, int size)
            Directive directive = getDirective(column);
            if (directive == EMPTY_DIRECTIVE)
                return null;
            return new Arrow(directive.direction == DESCENDING, size, sortingColumns.indexOf(directive));
        private void cancelSorting()
            sortingColumns.clear();
            sortingStatusChanged();
        public void setColumnComparator(Class type, Comparator comparator)
            if (comparator == null)
                columnComparators.remove(type);
            else
                columnComparators.put(type, comparator);
        protected Comparator getComparator(int column)
            Class columnType = tableModel.getColumnClass(column);
            Comparator comparator = (Comparator) columnComparators.get(columnType);
            if (comparator != null)
                return comparator;
            if (Comparable.class.isAssignableFrom(columnType))
                return COMPARABLE_COMAPRATOR;
            return LEXICAL_COMPARATOR;
        private Row[] getViewToModel()
            if (viewToModel == null)
                int tableModelRowCount = tableModel.getRowCount();
                viewToModel = new Row[tableModelRowCount];
                for (int row = 0; row < tableModelRowCount; row++)
                    viewToModel[row] = new Row(row);
                if (isSorting())
                    Arrays.sort(viewToModel);
            return viewToModel;
        public int modelIndex(int viewIndex)
                 return getViewToModel()[viewIndex].modelIndex;     
        private int[] getModelToView()
            if (modelToView == null)
                int n = getViewToModel().length;
                modelToView = new int[n];
                for (int i = 0; i < n; i++)
                    modelToView[modelIndex(i)] = i;
            return modelToView;
        // TableModel interface methods
        public int getRowCount()
            return (tableModel == null) ? 0 : tableModel.getRowCount();
        public int getColumnCount()
            return (tableModel == null) ? 0 : tableModel.getColumnCount();
        public String getColumnName(int column)
            return tableModel.getColumnName(column);
        public Class getColumnClass(int column)
            return tableModel.getColumnClass(column);
        public boolean isCellEditable(int row, int column)
            return tableModel.isCellEditable(modelIndex(row), column);
        public Object getValueAt(int row, int column)
            return tableModel.getValueAt(modelIndex(row), column);
        public void setValueAt(Object aValue, int row, int column)
            tableModel.setValueAt(aValue, modelIndex(row), column);
        // Helper classes
        private class Row implements Comparable
            private int modelIndex;
            public Row(int index)
                this.modelIndex = index;
            public int compareTo(Object o)
                int row1 = modelIndex;
                int row2 = ((Row) o).modelIndex;
                for (Iterator it = sortingColumns.iterator(); it.hasNext();)
                    Directive directive = (Directive) it.next();
                    int column = directive.column;
                    Object o1 = tableModel.getValueAt(row1, column);
                    Object o2 = tableModel.getValueAt(row2, column);
                    int comparison = 0;
                    // Define null less than everything, except null.
                    if (o1 == null && o2 == null)
                        comparison = 0;
                    } else if (o1 == null)
                        comparison = -1;
                    } else if (o2 == null)
                        comparison = 1;
                    } else {
                        comparison = getComparator(column).compare(o1, o2);
                    if (comparison != 0)
                        return directive.direction == DESCENDING ? -comparison : comparison;
                return 0;
        private class TableModelHandler implements TableModelListener
            public void tableChanged(TableModelEvent e)
                // If we're not sorting by anything, just pass the event along.            
                if (!isSorting())
                    clearSortingState();
                    fireTableChanged(e);
                    return;
                // If the table structure has changed, cancel the sorting; the            
                // sorting columns may have been either moved or deleted from            
                // the model.
                if (e.getFirstRow() == TableModelEvent.HEADER_ROW)
                    cancelSorting();
                    fireTableChanged(e);
                    return;
                // We can map a cell event through to the view without widening            
                // when the following conditions apply:
                // a) all the changes are on one row (e.getFirstRow() == e.getLastRow()) and,
                // b) all the changes are in one column (column != TableModelEvent.ALL_COLUMNS) and,
                // c) we are not sorting on that column (getSortingStatus(column) == NOT_SORTED) and,
                // d) a reverse lookup will not trigger a sort (modelToView != null)
                // Note: INSERT and DELETE events fail this test as they have column == ALL_COLUMNS.
                // The last check, for (modelToView != null) is to see if modelToView
                // is already allocated. If we don't do this check; sorting can become
                // a performance bottleneck for applications where cells 
                // change rapidly in different parts of the table. If cells
                // change alternately in the sorting column and then outside of            
                // it this class can end up re-sorting on alternate cell updates -
                // which can be a performance problem for large tables. The last
                // clause avoids this problem.
                int column = e.getColumn();
                if (e.getFirstRow() == e.getLastRow()
                        && column != TableModelEvent.ALL_COLUMNS
                        && getSortingStatus(column) == NOT_SORTED
                        && modelToView != null)
                    int viewIndex = getModelToView()[e.getFirstRow()];
                    fireTableChanged(new TableModelEvent(TableSorter.this,
                                                         viewIndex, viewIndex,
                                                         column, e.getType()));
                    return;
                // Something has happened to the data that may have invalidated the row order.
                clearSortingState();
                fireTableDataChanged();
                return;
        private class MouseHandler extends MouseAdapter
            public void mouseClicked(MouseEvent e)
                JTableHeader h = (JTableHeader) e.getSource();
                TableColumnModel columnModel = h.getColumnModel();
                int viewColumn = columnModel.getColumnIndexAtX(e.getX());
                int column = columnModel.getColumn(viewColumn).getModelIndex();
                if (column != -1)
                    int status = getSortingStatus(column);
                    if (!e.isControlDown())
                        cancelSorting();
                    // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or
                    // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed.
                    status = status + (e.isShiftDown() ? -1 : 1);
                    status = (status + 4) % 3 - 1; // signed mod, returning {-1, 0, 1}
                    setSortingStatus(column, status);
        private static class Arrow implements Icon
            private boolean descending;
            private int size;
            private int priority;
            public Arrow(boolean descending, int size, int priority)
                this.descending = descending;
                this.size = size;
                this.priority = priority;
            public void paintIcon(Component c, Graphics g, int x, int y)
                Color color = c == null ? Color.GRAY : c.getBackground();            
                // In a compound sort, make each succesive triangle 20%
                // smaller than the previous one.
                int dx = (int)(size/2*Math.pow(0.8, priority));
                int dy = descending ? dx : -dx;
                // Align icon (roughly) with font baseline.
                y = y + 5*size/6 + (descending ? -dy : 0);
                int shift = descending ? 1 : -1;
                g.translate(x, y);
                // Right diagonal.
                g.setColor(color.darker());
                g.drawLine(dx / 2, dy, 0, 0);
                g.drawLine(dx / 2, dy + shift, 0, shift);
                // Left diagonal.
                g.setColor(color.brighter());
                g.drawLine(dx / 2, dy, dx, 0);
                g.drawLine(dx / 2, dy + shift, dx, shift);
                // Horizontal line.
                if (descending) {
                    g.setColor(color.darker().darker());
                } else {
                    g.setColor(color.brighter().brighter());
                g.drawLine(dx, 0, 0, 0);
                g.setColor(color);
                g.translate(-x, -y);
            public int getIconWidth()
                return size;
            public int getIconHeight()
                return size;
        private class SortableHeaderRenderer implements TableCellRenderer
            private TableCellRenderer tableCellRenderer;
            public SortableHeaderRenderer(TableCellRenderer tableCellRenderer)
                this.tableCellRenderer = tableCellRenderer;
            public Component getTableCellRendererComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           boolean hasFocus,
                                                           int row,
                                                           int column)
                Component c = tableCellRenderer.getTableCellRendererComponent(table,
                        value, isSelected, hasFocus, row, column);
                if (c instanceof JLabel) {
                    JLabel l = (JLabel) c;
                    l.setHorizontalTextPosition(JLabel.LEFT);
                    int modelColumn = table.convertColumnIndexToModel(column);
                    l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize()));
                return c;
        private static class Directive
            private int column;
            private int direction;
            public Directive(int column, int direction)
                this.column = column;
                this.direction = direction;
    }any input will be appreciated.
    thanks
    Peter

    The code you posted doesn't help us at all. Its just a duplicate of the code from the tutorial. The custom code is what you have written. For example do you update the TableModel from the Event Thread? Do you update the SortModel or the DefaultTableModel? If you actually provide your test code and somebody has already downloaded the sort classes, then maybe they will test your code against the classes. But I doubt if people will download the sort classes and create a test program just to see if they can duplicate your results (at least I know I'm not about to).

  • My Ipad 2 no longer displays anything.It may come on for a few seconds,but then half of the screen goes completely black, and the system becomes non responsive to all bottons. At other times all four sides of the display becomes black, about 1/4 inch.

    Can anyone help me on this one? I got my IPAD 2 in June 2011. It never gave problems until a few days ago. It began to "hang", becoming non-responsive to all buttons. Then just yesterday morning, it went totally black. The display no longer displays. The Battery was charged 96%. I tried the power adapter, but had the same result. I tried the resetting, holding the two buttons for 10 seconds or more but no result. I have already restored it to the factory setting,(via my PC) and put back my apps etc. But after all this I still cannot see anything on the screen.
    I know it is still working, because from time to timer I hear the message alerts, and other sounds.
    Waht is the likely solution?

    Try a Reset...
    Press and hold the Sleep/Wake button and the Home button at the same time for at least ten seconds, until the Apple logo appears. Release the Buttons.
    If no joy... Try a Restore...
    1: Connect the device to your computer and open iTunes.
    2: If the device appears in iTunes, select and click Restore on the Summary pane.
    3: If the device doesn't appear in iTunes, try using the steps in this article to force the device into recovery mode.
    From Here
    Unresponsive iPad
    http://support.apple.com/kb/TS3281

  • Server 2008 becomes non-responsive intermittently

    Hi,
    I have a virtual server which becomes non-responsive intermittently. The mstsc command will not give the login window and will push me back to the mstsc login screen ( where we enter the hostname we want to remote into ). If I try to login from Vmware console;
    after entering the credentials and hit enter, it will push me back to the login screen again. Then I will be left with one option, which is reset it from console.
    Can someone help me here to solve it? Why its happening and what is the resolution ?
    Thanks in advance,
    Noufal

    Hi
    are there any errors in the event log when this happens? Is this server a domain controller?
    When it doesnt respond are you still able to ping the server?
    Hope this helps. Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
     Yes, see if you can ping both IP and Host name at this point. I have seen this happen in a non domain environment.

Maybe you are looking for