Coverage Summary for Class: StudentButton (it.polimi.ingsw.Client.GUI.Components)
| Class | Method, % | Branch, % | Line, % |
|---|---|---|---|
| StudentButton | 0% (0/1) | 0% (0/14) | 0% (0/24) |
| StudentButton$1 | 0% (0/1) | 0% (0/1) | |
| Total | 0% (0/2) | 0% (0/14) | 0% (0/25) |
1 package it.polimi.ingsw.Client.GUI.Components; 2 3 import it.polimi.ingsw.Model.Enums.PawnColour; 4 5 import javax.swing.*; 6 import java.awt.*; 7 8 import static it.polimi.ingsw.Client.GUI.IconLoader.*; 9 10 public class StudentButton extends JButton { 11 /** 12 * Create a new JButton with pawn as icon 13 * 14 * @param pawnColour pawn's colour 15 * @param amount pawns' multiplicity 16 * @param overrideTextColour force text's colour to black 17 */ 18 public StudentButton(PawnColour pawnColour, int amount, boolean overrideTextColour) { 19 //remove borders and fill from StudentButton 20 this.setBorderPainted(false); 21 this.setContentAreaFilled(false); 22 this.setFocusPainted(false); 23 this.setOpaque(false); 24 //set icon basing on pawn's colour 25 switch (pawnColour) { 26 case BLUE -> this.setIcon(BlueStudent); 27 case YELLOW -> this.setIcon(YellowStudent); 28 case GREEN -> this.setIcon(GreenStudent); 29 case PINK -> this.setIcon(PinkStudent); 30 case RED -> this.setIcon(RedStudent); 31 } 32 //write eventual multiplicity beside the JButton 33 if (amount > 1) { 34 this.setText("x" + amount); 35 this.setHorizontalTextPosition(SwingConstants.RIGHT); 36 Font font = new Font("SansSerif", Font.BOLD, 13); 37 this.setFont(font); 38 //set text's colour 39 switch (pawnColour) { 40 case BLUE -> this.setForeground(new Color(0x27C3F2)); 41 case YELLOW -> this.setForeground(new Color(0xFBAF2F)); 42 case GREEN -> this.setForeground(new Color(0x1FB47F)); 43 case PINK -> this.setForeground(new Color(0xDB5FA2)); 44 case RED -> this.setForeground(new Color(0xEC1F23)); 45 } 46 if (overrideTextColour) { 47 this.setForeground(Color.BLACK); 48 } 49 } 50 } 51 }