public PlayDevCardView() { this.setOpaque(true); this.setBorder(BorderFactory.createLineBorder(Color.black, BORDER_WIDTH)); this.setLayout(new BorderLayout()); // Title Panel (immutable) JPanel titlePanel = new JPanel(new BorderLayout()); title = new JLabel("Development Cards"); FontUtils.setFont(title, LABEL_TEXT_SIZE); titlePanel.add(title, BorderLayout.WEST); this.add(titlePanel, BorderLayout.NORTH); JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS)); // Separator mainPanel.add(new JSeparator()); // Blank space mainPanel.add(Box.createRigidArea(new Dimension(0, 10))); // Development Card Chooser devCards = new DevelopmentCardChooser(); devCards.setListener(btnGrpPnlListener); mainPanel.add(devCards); // Blank space mainPanel.add(Box.createRigidArea(new Dimension(0, 10))); JPanel resPanel = new JPanel(); resPanel.setLayout(new BoxLayout(resPanel, BoxLayout.Y_AXIS)); // Resource Card 1 resCard1 = new ResourceCardChooser(); resCard1.setEnabled(false); resCard1.setListener(btnGrpPnlListener); mainPanel.add(resCard1); // Blank space mainPanel.add(Box.createRigidArea(new Dimension(0, 5))); // Resource Card 2 resCard2 = new ResourceCardChooser(); resCard2.setEnabled(false); resCard2.setListener(btnGrpPnlListener); resPanel.add(resCard2); mainPanel.add(resPanel); // Blank space mainPanel.add(Box.createRigidArea(new Dimension(0, 10))); // Use Dev Card Button JPanel usePanel = new JPanel(); useButton = new JButton(DEFAULT_USE_BUTTON_LABEL); useButton.setEnabled(false); FontUtils.setFont(useButton, BUTTON_TEXT_SIZE); useButton.addActionListener(actionListener); usePanel.add(useButton); mainPanel.add(usePanel); // Blank space mainPanel.add(Box.createRigidArea(new Dimension(0, 10))); // Cancel Button JPanel cancelPanel = new JPanel(); cancelButton = new JButton("Cancel"); FontUtils.setFont(cancelButton, BUTTON_TEXT_SIZE); cancelButton.addActionListener(actionListener); cancelPanel.add(cancelButton); mainPanel.add(cancelPanel); this.add(mainPanel, BorderLayout.CENTER); }