okay dont get me wrong but you're not doing any OO at all, you could just as wel program that game in assembler.
you need to define an object card, that has a suit and a value, and a function toString (or something like it) that gives the card value as a string, next you need to define a class shoe which contains 52 cards (in a collection, I think a LinkedList is the best in terms of performance but that's kind of besides the point here) then you can shuffle your shoe (Collections.shuffle method) and then you can just simply draw cards, this is where linkedList comes into play, you can removeFromFront which actually removes the card out of the deck list. this makes the whole deck and cards behave quite like their real life counterparts and eliminates 99% of your if/else code.
my code for a card and shoe are available at my website (directory link:
http://users.telenet.be/boran/cardShoe/ ) and will remain there untill I really need the full 2 KB it's taking
please try to understand the workings instead of blindly using since that will help you much more in your entire app.
(attaching code was not allowed because of the typed LinkedList :/)
edit: as a sidenote, declare methods that are internally used (such as the compare) private.
Edit2: I despise the code windows on these forums, I cant even select all code innit and copy/paste to an editor to see what it looks like as a whole.
Edit3: okay possible in IE, you have a faulty indentation after your if (selection == JOptionPane.NO_OPTION) the following for loop should start one tab level to the left since it is not within the if block but happens after the if if the if did not execute.