/** This method initializes styleList */ private List getStyleList() { if (styleList == null) { styleList = new List(styleListChoices.length); for (String s : styleListChoices) { styleList.add(s); } styleList.setPreferredSize(new Dimension(97, 117)); styleList.select(0); styleList.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { styleIndex = styleList.getSelectedIndex(); if (model.items() != null) { algorithm = algs[styleIndex]; refreshObjects(); } } } }); } return styleList; }
private void initComponents() { // Creating the top level panel joinPanel = new JPanel(); joinPanel.setOpaque(false); joinPanel.setPreferredSize(IntroOutro.contentPanelDim); joinPanel.setLayout(new BorderLayout()); // Creating the lower level join panel subJoinPanel = new JPanel(); subJoinPanel.setOpaque(false); subJoinPanel.setPreferredSize(new Dimension(300, 500)); subJoinPanel.setLayout(new BorderLayout(0, 10)); // Creating the panel used for the "click to join" label clickLabelPanel = new JPanel(); clickLabelPanel.setPreferredSize(new Dimension(300, 50)); clickLabelPanel.setOpaque(false); GridBagLayout g1 = new GridBagLayout(); clickLabelPanel.setLayout(g1); GridBagConstraints c1 = new GridBagConstraints(); // Creating the panel used for the cancel button cancelPanel = new JPanel(); cancelPanel.setPreferredSize(new Dimension(300, 60)); cancelPanel.setOpaque(false); GridBagLayout g2 = new GridBagLayout(); cancelPanel.setLayout(g2); GridBagConstraints c2 = new GridBagConstraints(); // Creating the join button cancelButton = new JButton(); cancelButton.setCursor(new Cursor(Cursor.HAND_CURSOR)); cancelButton.setSize(IntroOutro.navigationButtonDim); cancelButton.setPreferredSize(IntroOutro.navigationButtonDim); cancelButton.setMaximumSize(IntroOutro.navigationButtonDim); cancelButton.setMinimumSize(IntroOutro.navigationButtonDim); cancelButton.setBackground(new Color(53, 212, 160)); cancelButton.setFont(new Font("Tahoma", 1, 14)); cancelButton.setText("Cancel"); cancelButton.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2)); // Creating the list of ongoing games gameList = new List(); gameList.setBackground(new Color(230, 230, 230)); gameList.setSize(new Dimension(350, 400)); gameList.setPreferredSize(new Dimension(350, 400)); gameList.setMaximumSize(new Dimension(350, 400)); gameList.setMinimumSize(new Dimension(350, 400)); // Dummy games gameList.add("Jade's game"); gameList.add("Somebody else's game"); // Creating the "Click to Join" label clickLabel = new JLabel("Double-click to Join"); clickLabel.setFont(new Font("Tahoma", 1, 21)); // Adding the components in the lower level panels c1.gridx = 0; c1.gridy = 0; clickLabelPanel.add(clickLabel, c1); c2.gridx = 0; c2.gridy = 0; cancelPanel.add(Box.createRigidArea(new Dimension(200, 30)), c2); c2.gridx = 1; c2.gridy = 0; cancelPanel.add(cancelButton, c2); subJoinPanel.add(clickLabelPanel, BorderLayout.PAGE_START); subJoinPanel.add(gameList, BorderLayout.CENTER); subJoinPanel.add(cancelPanel, BorderLayout.PAGE_END); // Adding the lower level panel to the top level panel with some formatting joinPanel.add(Box.createRigidArea(new Dimension(50, 30)), BorderLayout.PAGE_START); joinPanel.add(subJoinPanel, BorderLayout.CENTER); joinPanel.add(Box.createRigidArea(new Dimension(50, 30)), BorderLayout.LINE_START); joinPanel.add(Box.createRigidArea(new Dimension(250, 30)), BorderLayout.LINE_END); // Event action for cancel button cancelButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { superior.closeSubPanel(); } }); // When a user selects a game, the existing game appears gameList.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { superior.goToExistingGame(); } }); }