package edu.harvard.econcs.turkserver.server.gui; import java.awt.GridLayout; import javax.annotation.Nullable; import javax.swing.JPanel; import javax.swing.JTabbedPane; import com.google.inject.Inject; import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource; import edu.harvard.econcs.turkserver.mturk.RequesterServiceExt; public class TSTabbedPanel extends JPanel { private static final long serialVersionUID = -3363135146104711554L; private JTabbedPane tabbedPane; @Inject public TSTabbedPanel( MysqlConnectionPoolDataSource cpds, @Nullable RequesterServiceExt req) { super(new GridLayout(1, 1)); tabbedPane = new JTabbedPane(); // Enable scrolling tabs. tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); add(tabbedPane); ControlPanel controlPanel = new ControlPanel(); tabbedPane.addTab("Control", null, controlPanel, null); WorkerPanel workerPanel = new WorkerPanel(req); tabbedPane.addTab("Workers", null, workerPanel, null); ExperimentsPanel experimentsPanel = new ExperimentsPanel(cpds, req); tabbedPane.addTab("Experiments", null, experimentsPanel, null); MaintenancePanel maintenancePanel = new MaintenancePanel(req); tabbedPane.addTab("Maintenance", null, maintenancePanel, null); } public void addPanel(String title, JPanel panel) { tabbedPane.add(title, panel); // Select this panel tabbedPane.setSelectedComponent(panel); } }