private void setChoosers() { fieldPanel.removeAll(); for (int i = 0; i < choosers.size(); i++) { Chooser c = (Chooser) choosers.get(i); if (c.isWanted) fieldPanel.add(c.field); } }
void setDrawHorizAndVert(boolean drawHoriz, boolean drawVert) { drawingPanel.removeAll(); if (drawHoriz && drawVert) { splitDraw.setTopComponent(panz); splitDraw.setBottomComponent(vertPanel); drawingPanel.add(splitDraw, BorderLayout.CENTER); } else if (drawHoriz) { drawingPanel.add(panz, BorderLayout.CENTER); } else if (drawVert) { drawingPanel.add(splitDraw, BorderLayout.CENTER); } }
public static void main(String args[]) { JFrame frame; final DatasetEditor editor = new DatasetEditor(); frame = new JFrame("Test DatasetEditor"); frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); JButton save = new JButton("Accept"); save.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { editor.accept(); editor.store2Dataset(); try { cat.writeXML(System.out, true); } catch (IOException e1) { e1.printStackTrace(); } } }); JPanel main = new JPanel(new BorderLayout()); main.add(editor, BorderLayout.CENTER); main.add(save, BorderLayout.NORTH); frame.getContentPane().add(main); frame.pack(); frame.setLocation(150, 10); frame.setVisible(true); // LOOK-NOSAVE java.net.Authenticator.setDefault(new UrlAuthenticatorDialog(frame)); // String url = "http://uni10.unidata.ucar.edu:8088/thredds/content/idd/models.xml"; String url = "http://thredds.ucar.edu/thredds/content/idd/models.xml"; InvCatalogFactory catFactory = InvCatalogFactory.getDefaultFactory(true); cat = catFactory.readXML(url); InvDatasetImpl ds = (InvDatasetImpl) cat.findDatasetByID("NCEP/NAM/V"); editor.setDataset(ds); }
private JPanel makeVariablesPanel() { variablesFld = new Field.BeanTableField( VARIABLES, "Variables", null, ThreddsMetadata.Variable.class, null, null); extractVButton = makeButton("Extract Variables"); extractVButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { extractVariables(); } }); JPanel buttPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0)); buttPanel.add(extractVButton); JPanel vPanel = new JPanel(new BorderLayout()); vPanel.add(buttPanel, BorderLayout.NORTH); vPanel.add(variablesFld.getEditComponent(), BorderLayout.CENTER); return vPanel; }
private void addToolbarOption(String toolbarName, JToolBar toolbar, AbstractAction act) { boolean wantsToolbar = store.getBoolean(toolbarName, true); if (wantsToolbar) toolPanel.add(toolbar); }
private void makeUI(int defaultHeight) { datasetNameLabel = new JLabel(); /* gridPP = new PrefPanel("GridView", (PreferencesExt) store.node("GridViewPrefs")); gridUrlIF = gridPP.addTextComboField("url", "Gridded Data URL", null, 10, false); gridPP.addButton( BAMutil.makeButtconFromAction( chooseLocalDatasetAction )); gridPP.finish(true, BorderLayout.EAST); gridPP.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { InvDatasetImpl ds = new InvDatasetImpl( gridUrlIF.getText(), thredds.catalog.DataType.GRID, ServiceType.NETCDF); setDataset( ds); } }); */ // top tool panel toolPanel = new JPanel(); toolPanel.setBorder(new EtchedBorder()); toolPanel.setLayout(new MFlowLayout(FlowLayout.LEFT, 0, 0)); // menus JMenu dataMenu = new JMenu("Dataset"); dataMenu.setMnemonic('D'); configMenu = new JMenu("Configure"); configMenu.setMnemonic('C'); JMenu toolMenu = new JMenu("Controls"); toolMenu.setMnemonic('T'); addActionsToMenus(dataMenu, configMenu, toolMenu); JMenuBar menuBar = new JMenuBar(); menuBar.add(dataMenu); menuBar.add(configMenu); menuBar.add(toolMenu); toolPanel.add(menuBar); // field choosers fieldPanel = new JPanel(); fieldPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); toolPanel.add(fieldPanel); // stride toolPanel.add(controller.strideSpinner); // buttcons BAMutil.addActionToContainer(toolPanel, controller.drawHorizAction); BAMutil.addActionToContainer(toolPanel, controller.drawVertAction); mapBeanMenu = MapBean.makeMapSelectButton(); toolPanel.add(mapBeanMenu.getParentComponent()); // the Navigated panel and its toolbars panz.setLayout(new FlowLayout()); navToolbar = panz.getNavToolBar(); moveToolbar = panz.getMoveToolBar(); if (((Boolean) navToolbarAction.getValue(BAMutil.STATE)).booleanValue()) toolPanel.add(navToolbar); if (((Boolean) moveToolbarAction.getValue(BAMutil.STATE)).booleanValue()) toolPanel.add(moveToolbar); BAMutil.addActionToContainer(toolPanel, panz.setReferenceAction); BAMutil.addActionToContainer(toolPanel, controller.dataProjectionAction); BAMutil.addActionToContainer(toolPanel, controller.showGridAction); BAMutil.addActionToContainer(toolPanel, controller.showContoursAction); BAMutil.addActionToContainer(toolPanel, controller.showContourLabelsAction); BAMutil.addActionToContainer(toolPanel, redrawAction); // vertical split vertPanel = new VertPanel(); splitDraw = new JSplitPane(JSplitPane.VERTICAL_SPLIT, panz, vertPanel); int divLoc = store.getInt("vertSplit", 2 * defaultHeight / 3); splitDraw.setDividerLocation(divLoc); drawingPanel = new JPanel(new BorderLayout()); // filled later // status panel JPanel statusPanel = new JPanel(new BorderLayout()); statusPanel.setBorder(new EtchedBorder()); positionLabel = new JLabel("position"); positionLabel.setToolTipText("position at cursor"); dataValueLabel = new JLabel("data value", SwingConstants.CENTER); dataValueLabel.setToolTipText("data value (double click on grid)"); statusPanel.add(positionLabel, BorderLayout.WEST); statusPanel.add(dataValueLabel, BorderLayout.CENTER); panz.setPositionLabel(positionLabel); // colorscale panel colorScalePanel = new ColorScale.Panel(this, controller.getColorScale()); csDataMinMax = new JComboBox(GridRenderer.MinMaxType.values()); csDataMinMax.setToolTipText("ColorScale Min/Max setting"); csDataMinMax.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { controller.setDataMinMaxType((GridRenderer.MinMaxType) csDataMinMax.getSelectedItem()); } }); JPanel westPanel = new JPanel(new BorderLayout()); westPanel.add(colorScalePanel, BorderLayout.CENTER); westPanel.add(csDataMinMax, BorderLayout.NORTH); // lay it out JPanel northPanel = new JPanel(); // northPanel.setLayout( new BoxLayout(northPanel, BoxLayout.Y_AXIS)); northPanel.setLayout(new BorderLayout()); northPanel.add(datasetNameLabel, BorderLayout.NORTH); northPanel.add(toolPanel, BorderLayout.SOUTH); setLayout(new BorderLayout()); add(northPanel, BorderLayout.NORTH); add(statusPanel, BorderLayout.SOUTH); add(westPanel, BorderLayout.WEST); add(drawingPanel, BorderLayout.CENTER); setDrawHorizAndVert(controller.drawHorizOn, controller.drawVertOn); }