Я работаю над созданием калькулятора шансов в покере, у меня есть 8 игроков за столом с JComboBox с выбранным количеством игроков.То, что я хочу сделать, это «перекрасить» графический интерфейс после того, как я сделаю несколько выборов.Например, если я нажму 4 игрока, 4 игрока станут доступными для редактирования.В настоящее время это работает, но когда я выбираю 3 игроков после, игрок 4 по-прежнему доступен для редактирования.
Я попытался установить видимость, я устал, чтобы удалить панели игрока, я пытался удалить (addPlayer4), я попыталсяНесколько других странных вещей, но самое близкое, что я могу получить, - полностью удалить игрока.
addPlayer1.addActionListener((ActionEvent e) -> {
player1.removeAll();
player1.add(playerPanelFactory("Player1",1));
//welcomeScreen.get
repaint();
validate();
});
addPlayer2.addActionListener((ActionEvent e) -> {
player2.removeAll();
player2.add(playerPanelFactory("Player2",2));
getParent().repaint();
// contentPane.repaint();
validate();
});
addPlayer3.addActionListener((ActionEvent e) -> {
player3.removeAll();
player3.add(playerPanelFactory("Player3",3));
getParent().repaint();
// contentPane.repaint();
validate();
});
addPlayer4.addActionListener((ActionEvent e) -> {
player4.removeAll();
player4.add(playerPanelFactory("Player4",4));
repaint();
validate();
});
.....
playerBox.addActionListener((ActionEvent e)-> {
numberOfPlayers = playerBox.getSelectedItem().toString();
int numPlayers = Integer.parseInt(numberOfPlayers);
switch(numPlayers){
case 1:
addPlayer1.doClick();
break;
case 2:
addPlayer1.doClick();
addPlayer2.doClick();
break;
case 3:
addPlayer1.doClick();
addPlayer2.doClick();
addPlayer3.doClick();
break;
case 4:
addPlayer1.doClick();
addPlayer2.doClick();
addPlayer3.doClick();
addPlayer4.doClick();
break;
case 5:
addPlayer1.doClick();
addPlayer2.doClick();
addPlayer3.doClick();
addPlayer4.doClick();
addPlayer5.doClick();
break;
case 6:
addPlayer1.doClick();
addPlayer2.doClick();
addPlayer3.doClick();
addPlayer4.doClick();
addPlayer5.doClick();
addPlayer6.doClick();
break;
case 7:
addPlayer1.doClick();
addPlayer2.doClick();
addPlayer3.doClick();
addPlayer4.doClick();
addPlayer5.doClick();
addPlayer6.doClick();
addPlayer7.doClick();
break;
case 8:
addPlayer1.doClick();
addPlayer2.doClick();
addPlayer3.doClick();
addPlayer4.doClick();
addPlayer5.doClick();
addPlayer6.doClick();
addPlayer7.doClick();
addPlayer8.doClick();
break;
default:
return;
}
});
Я не хотел связывать весь код, поскольку он содержит почти 700 строк, но я считаю, что именно здесь могут возникнуть проблемы,Цель, которую я ищу, состоит в том, чтобы панель игроков редактировалась, когда они выделены, и не редактировалась, когда она не выбрана.
https://imgur.com/a/ssgXSXW? Надеюсь, это имеет смысл