package magic.ui.screen.duel.setup; import java.awt.Dimension; import javax.swing.JLabel; import javax.swing.JPanel; import magic.model.player.PlayerProfile; import magic.ui.MagicImages; import magic.ui.widget.player.PlayerDetailsPanel; import net.miginfocom.swing.MigLayout; /** * Composite JPanel displays player avatar and player details. * */ @SuppressWarnings("serial") class PlayerProfilePanel extends JPanel { private final MigLayout migLayout = new MigLayout(); private final JLabel avatarLabel = new JLabel(); private final PlayerDetailsPanel detailsPanel = new PlayerDetailsPanel(); PlayerProfilePanel(final PlayerProfile player) { setLookAndFeel(); setPlayer(player); } PlayerProfilePanel() { setLookAndFeel(); } private void setLookAndFeel() { setPreferredSize(new Dimension(0, 70)); setOpaque(false); setLayout(migLayout); } void setPlayer(final PlayerProfile player) { avatarLabel.setIcon(MagicImages.getPlayerAvatar(player).getIcon(2)); detailsPanel.setPlayer(player); refreshLayout(); } private void refreshLayout() { removeAll(); migLayout.setLayoutConstraints("insets 0 0 0 6, gap 0"); add(avatarLabel, "w 70!, h 70!"); add(detailsPanel, "w 100%"); } }