/** Constructs new TabbedExplorer that is scrollable if specified as true. */ public TabbedExplorer(boolean scrollable) { super(); this.scrollable = scrollable; this.drawerCards = new ArrayList<TabCard>(); this.canvasPane = new JPanel(new BorderLayout()); canvasPane.setBorder(BorderFactory.createMatteBorder(5, 5, 5, 5, CGraphite.blue)); this.setBackground(Color.black); this.timer = new Timer(300, this); menu = new JPopupMenu(); wheeler = new CWheeler(new ArrayList<JComponent>(), false, Color.black); wheeler.setPreferredSize(new Dimension(wheeler.getPreferredSize().width, BUTTON_HEIGHT)); left = new CTabButton("<<"); left.setPreferredSize(BUTTON_DIMENSION); left.addMouseListener(this); right = new CTabButton(">>"); right.setPreferredSize(BUTTON_DIMENSION); right.addMouseListener(this); down = new CTabButton("V"); down.setPreferredSize(BUTTON_DIMENSION); down.addMouseListener(this); setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.weightx = 0; gbc.weighty = 0; gbc.fill = GridBagConstraints.NONE; add(left, gbc); gbc.gridx++; gbc.weightx = 1; gbc.fill = GridBagConstraints.BOTH; add(wheeler, gbc); gbc.gridx++; gbc.weightx = 0; gbc.fill = GridBagConstraints.NONE; add(right, gbc); gbc.gridx++; add(down, gbc); gbc.gridx = 0; gbc.gridy++; gbc.gridwidth = 4; gbc.weightx = 1; gbc.weighty = 1; gbc.fill = GridBagConstraints.BOTH; add(canvasPane, gbc); }