@SuppressWarnings("serial") private void initComponents() { mainSplitPane = new JSplitPane(); mainSplitPane.setBorder(BorderFactory.createEmptyBorder()); listSplitPane = new JSplitPane(); listSplitPane.setBorder(BorderFactory.createEmptyBorder()); bottomPanel = new JPanel(); defaultViewImagePanel = new JPanel(); propertySheetPanel.setTable(new VizMapPropertySheetTable()); vsSelectPanel = new JPanel(); buttonPanel = new JPanel(); initializeVisualStyleComboBox(); optionButton = new DropDownMenuButton( new AbstractAction() { public void actionPerformed(ActionEvent ae) { DropDownMenuButton b = (DropDownMenuButton) ae.getSource(); menuMgr.getMainMenu().show(b, 0, b.getHeight()); } }); GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); buttonPanel.setLayout(gridbag); constraints.gridx = 0; constraints.gridy = 0; constraints.gridwidth = 1; constraints.gridheight = GridBagConstraints.REMAINDER; addButton = new JButton(); addButton.setUI(new BlueishButtonUI()); gridbag.setConstraints(addButton, constraints); buttonPanel.add(addButton); constraints.gridx = 2; constraints.gridy = 0; mainSplitPane.setDividerLocation(160); mainSplitPane.setDividerSize(4); // TODO why do we have to do this? mainSplitPane.setSize(new Dimension(100, 160)); listSplitPane.setDividerLocation(400); listSplitPane.setDividerSize(5); listSplitPane.setOrientation(JSplitPane.VERTICAL_SPLIT); // Default View Panel // defaultViewImagePanel.setMinimumSize(new Dimension(200, 200)); defaultViewImagePanel.setPreferredSize( new Dimension(mainSplitPane.getWidth(), mainSplitPane.getDividerLocation())); defaultViewImagePanel.setSize(defaultViewImagePanel.getPreferredSize()); defaultViewImagePanel.setLayout(new BorderLayout()); noMapListScrollPane = new JScrollPane(); noMapListScrollPane.setBorder( BorderFactory.createTitledBorder( null, "Unused Visual Properties", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new Font("SansSerif", 1, 12))); noMapListScrollPane.setToolTipText("To Create New Mapping, Drag & Drop List Item to Browser."); GroupLayout bottomPanelLayout = new GroupLayout(bottomPanel); bottomPanel.setLayout(bottomPanelLayout); bottomPanelLayout.setHorizontalGroup( bottomPanelLayout .createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(noMapListScrollPane, GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE) .addComponent( buttonPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); bottomPanelLayout.setVerticalGroup( bottomPanelLayout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( bottomPanelLayout .createSequentialGroup() .addComponent( buttonPanel, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE) .addComponent( noMapListScrollPane, GroupLayout.DEFAULT_SIZE, 135, Short.MAX_VALUE))); listSplitPane.setLeftComponent(mainSplitPane); listSplitPane.setRightComponent(bottomPanel); mainSplitPane.setOrientation(JSplitPane.VERTICAL_SPLIT); defaultViewImagePanel.setBorder( BorderFactory.createTitledBorder( null, "Defaults (Click to edit)", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("SansSerif", 1, 12), Color.darkGray)); mainSplitPane.setLeftComponent(defaultViewImagePanel); propertySheetPanel.setBorder( BorderFactory.createTitledBorder( null, "Visual Mapping Browser", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("SansSerif", 1, 12), Color.darkGray)); mainSplitPane.setRightComponent(propertySheetPanel); vsSelectPanel.setBorder( BorderFactory.createTitledBorder( null, "Current Visual Style", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("SansSerif", 1, 12), Color.darkGray)); optionButton.setToolTipText("Options..."); optionButton.setIcon(iconMgr.getIcon("optionIcon")); optionButton.setMargin(new Insets(2, 2, 2, 2)); optionButton.setComponentPopupMenu(menuMgr.getMainMenu()); GroupLayout vsSelectPanelLayout = new GroupLayout(vsSelectPanel); vsSelectPanel.setLayout(vsSelectPanelLayout); vsSelectPanelLayout.setHorizontalGroup( vsSelectPanelLayout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( vsSelectPanelLayout .createSequentialGroup() .addContainerGap() .addComponent(visualStyleComboBox, 0, 146, Short.MAX_VALUE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent( optionButton, GroupLayout.PREFERRED_SIZE, 64, GroupLayout.PREFERRED_SIZE) .addContainerGap())); vsSelectPanelLayout.setVerticalGroup( vsSelectPanelLayout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( vsSelectPanelLayout .createSequentialGroup() .addGroup( vsSelectPanelLayout .createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent( visualStyleComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(optionButton)) // .addContainerGap( // GroupLayout.DEFAULT_SIZE, // Short.MAX_VALUE) )); GroupLayout layout = new GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout .createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent( vsSelectPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(mainSplitPane, GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)); layout.setVerticalGroup( layout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addComponent( vsSelectPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(mainSplitPane, GroupLayout.DEFAULT_SIZE, 510, Short.MAX_VALUE))); } // </editor-fold>