I'm trying to take a look through now, but I must say it's incredibly difficult to follow - identifiers like label1, label2, check1, flag, text1, text2 and the like aren't descriptive at all, especially when combined with a distinct lack of comments. It's especially confusing when you player1 is both a SixNumbersPanel2 and a Player, and in one case player1 is player2 and in another player2 is actually player1, and so forth. Making all that more clear would greatly increase readability.
After slowly stepping through it, I've worked out what most of it does - but I'm slightly confused: player1.Complete() is called in the ActionListener, but the Complete() method performs it's check based on results[], which has never changed since results[] is only modified in play() which is never called, so it should never return true.
Nevermind, just noticed that Complete() always returns true no matter what. Correct me if I'm wrong, but it would appear that the only thing ever used from the Player class is the Check method.
I think I've solved your problem:
I'll use your example to explain.
- Player 1 rolled a 5 on his first turn
- Player 2 takes his turn
- Player 1 rolls a 5
Then,
check = player1.Check(list,key);
is called.
The binary search finds that the number 5 is already in the array, so it returns the index.
This index is greater than 0, so none of the code inside the if(check<0) block is executed, hence control is not passed back to the other player.
Can I also recommend that instead of implementing ActionListener and using getSource to add different behaviour for different buttons, to use lambda expressions like the following:
[code=java]
button.addActionListener((ActionEvent event) -> {
//Whatever you want to happen when the button is pressed
});
[/java]
You'd do this at the same time as you construct the button and set it's name and the like.
You can still separate your logic from your UI initialisation by calling a method inside that lambda expression.
Hopefully this helps, I don't mean to be too harsh, but make your code more readable!!!

It'll help people help you fix real problems way more easily in the future.