@Override
        public void mouseClicked(MouseEvent e) {
            if (e.getSource().equals(view.getArtistTable())) {
                int row = view.getArtistTable().rowAtPoint(e.getPoint());
                Artist artist = artistsFiltered.get(row);

                albumsFiltered = getAlbumsFromArtist(artist);
                view.getAlbumTable().setModel(new AlbumTableModel(albumsFiltered));
                songsFiltered = getSongsFromArtist(artist);
                view.getSongTable().setModel(new SongTableModel(songsFiltered));
                setColumnsWidth();
                if (e.getClickCount() == 2) {
                    remote.playArtist(artist.getId());

                }
            }
            if (e.getSource().equals(view.getAlbumTable())) {
                Album album = albumsFiltered.get(view.getAlbumTable().rowAtPoint(e.getPoint()));
                songsFiltered = getSongsFromAlbum(album);
                view.getSongTable().setModel(new SongTableModel(songsFiltered));
                setColumnsWidth();
                if (e.getClickCount() == 2) {
                    remote.playAlbum(album.getId());
                }
            }
            if (e.getSource().equals(view.getSongTable())
                    && e.getClickCount() == 2) {
                Song song = songsFiltered.get(view.getSongTable().rowAtPoint(e.getPoint()));
                if (song.getTrack() == 1
                        && songsFiltered.size() > 1) {
                    remote.playAlbum(song.getAlbumId());
                } else {
                    remote.playSong(song.getId());
                }

            }
        }