package fr.lyrgard.hexScape.gui.desktop.view.game.rightPanel; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.border.LineBorder; import fr.lyrgard.hexScape.bus.CoreMessageBus; import fr.lyrgard.hexScape.gui.desktop.components.GradientButton; import fr.lyrgard.hexScape.message.ThrowDiceMessage; import fr.lyrgard.hexScape.model.CurrentUserInfo; import fr.lyrgard.hexScape.model.dice.DiceType; public class DiceTypePanel extends JPanel { private static final long serialVersionUID = -595767426838310309L; public DiceTypePanel(final DiceType diceType) { super(); setLayout(new GridLayout(0, 5, 3, 3)); for (int i = 1; i <= diceType.getMaxNumberThrown(); i++) { final int number = i; Color color1 = Color.WHITE; Color color2 = Color.GRAY; if (diceType.getBackgroundColor() != null) { color2 = diceType.getBackgroundColor(); } JButton rollDiceButton = new GradientButton(Integer.toString(number), color1, color2); if (diceType.getForegroundColor() != null) { rollDiceButton.setForeground(diceType.getForegroundColor()); } rollDiceButton.setFont(rollDiceButton.getFont().deriveFont(Font.BOLD)); rollDiceButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ThrowDiceMessage message = new ThrowDiceMessage(CurrentUserInfo.getInstance().getPlayerId(), number, diceType.getId(), diceType.getFaces().size()); CoreMessageBus.post(message); } }); add(rollDiceButton); } } }