List of usage examples for javax.swing JRadioButton JRadioButton
public JRadioButton(String text)
From source file:phex.gui.dialogs.ExportDialog.java
private void initComponents() { closeEventHandler = new CloseEventHandler(); addWindowListener(closeEventHandler); DefaultComboBoxModel model = new DefaultComboBoxModel(); model.insertElementAt(Localizer.getString("ExportDialog_DefaultHTMLExport"), DEFAULT_HTML_INDEX); model.insertElementAt(Localizer.getString("ExportDialog_MagmaYAMLExport"), DEFAULT_MAGMA_YAML_INDEX); model.insertElementAt(Localizer.getString("ExportDialog_MetalinkXMLExport"), DEFAULT_METALINK_XML_INDEX); model.insertElementAt(Localizer.getString("ExportDialog_RSSXMLExport"), DEFAULT_RSS_XML_INDEX); standardExport = new JRadioButton(Localizer.getString("ExportDialog_StandardExportFormat")); standardExport.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { replaceFileExtForStandardExport(); }//from www . j a v a 2 s . c o m }); customExport = new JRadioButton(Localizer.getString("ExportDialog_CustomExportFormat")); customExport.setToolTipText(Localizer.getString("ExportDialog_TTTCustomExportFormat")); ButtonGroup exportFormatGroup = new ButtonGroup(); exportFormatGroup.add(standardExport); exportFormatGroup.add(customExport); standardExport.setSelected(true); standardExportFormatCB = new JComboBox(model); standardExportFormatCB.addActionListener(new ExportTypeListener()); customExportFormatTF = new JTextField(40); customExportFormatTF.setToolTipText(Localizer.getString("ExportDialog_TTTCustomExportFormat")); customExportFormatTF.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { customExport.setSelected(true); } public void keyReleased(KeyEvent e) { customExport.setSelected(true); } public void keyTyped(KeyEvent e) { customExport.setSelected(true); } }); browseCustomFormat = new JButton(Localizer.getString("ExportDialog_Browse")); browseCustomFormat.addActionListener(new BrowseCustomFileBtnListener()); exportAllFiles = new JRadioButton(Localizer.getString("ExportDialog_ExportAllFiles")); // text will be set on initContent() exportSelectedFiles = new JRadioButton(); ButtonGroup exportSourceGroup = new ButtonGroup(); exportSourceGroup.add(exportAllFiles); exportSourceGroup.add(exportSelectedFiles); outputFileTF = new JTextField(40); File defOutFile = new File(SystemUtils.USER_HOME, "shared_files.html"); outputFileTF.setText(defOutFile.getAbsolutePath()); browseOutFile = new JButton(Localizer.getString("ExportDialog_Browse")); browseOutFile.addActionListener(new BrowseOutFileBtnListener()); magnetInclXs = new JCheckBox(Localizer.getString("ExportDialog_MagnetIncludeXS")); magnetInclXs.setToolTipText(Localizer.getString("ExportDialog_TTTMagnetIncludeXS")); magnetInclFreebase = new JCheckBox(Localizer.getString("ExportDialog_MagnetIncludeFreebase")); magnetInclFreebase.setToolTipText(Localizer.getString("ExportDialog_TTTMagnetIncludeFreebase")); // delay setting initial index to ensure all components are available standardExportFormatCB.setSelectedIndex(0); okBtn = new JButton(Localizer.getString("OK")); okBtn.addActionListener(new OkBtnListener()); cancelBtn = new JButton(Localizer.getString("Cancel")); cancelBtn.addActionListener(closeEventHandler); }
From source file:psidev.psi.mi.filemakers.xmlMaker.gui.XsdTreePanelImpl.java
/** * create a button panel that includes buttons for loading the schema, to * associate a node to a flat file, a cell a default value or to specify * that a value should be automaticaly generated, to get informations about * the node, print the XML file or just have a preview of it. */// w ww . j a v a 2s. c o m public Box getButtonPanel() { // associationLabel.setEditable(false); Box buttonsPanel = new Box(BoxLayout.Y_AXIS); JPanel treeBox = new JPanel();// treeBox.setLayout(new BoxLayout(treeBox, BoxLayout.Y_AXIS));// (BoxLayout.Y_AXIS); // Box mappingBox = new Box(BoxLayout.Y_AXIS); // mappingBox.setBorder(new TitledBorder("Mapping")); Box associationBox = new Box(BoxLayout.Y_AXIS); associationBox.setBorder(new TitledBorder("Associations")); Box nodeBox = new Box(BoxLayout.Y_AXIS); nodeBox.setBorder(new TitledBorder("Node")); Box outputBox = new Box(BoxLayout.Y_AXIS); outputBox.setBorder(new TitledBorder("Output")); /* add a button for loading a XML Schema */ JButton loadFileb = new JButton("Open File"); Utils.setDefaultSize(loadFileb); loadFileb.addActionListener(new LoadSchemaListener()); JButton loadURLb = new JButton("Open URL"); Utils.setDefaultSize(loadURLb); loadURLb.addActionListener(new LoadURLSchemaListener()); JButton setIdb = new JButton("Prefix"); Utils.setDefaultSize(setIdb); setIdb.addActionListener(new SetIdListener()); /* add a button for duplicate a node (in case of lists) */ JButton duplicateb = new JButton("Duplicate"); Utils.setDefaultSize(duplicateb); duplicateb.addActionListener(new DuplicateListener()); /* add a button for restauring original choice */ JButton choiceb = new JButton("Restore"); Utils.setDefaultSize(choiceb); choiceb.addActionListener(new OriginalNodeListener()); JButton infosb = new JButton("About"); Utils.setDefaultSize(infosb); infosb.addActionListener(new InfosListener()); JButton checkb = new JButton("Check"); Utils.setDefaultSize(checkb); checkb.addActionListener(new CheckListener()); JButton previewb = new JButton("Preview"); Utils.setDefaultSize(previewb); previewb.addActionListener(new PreviewListener()); JButton printb = new JButton("Make XML"); Utils.setDefaultSize(printb); printb.addActionListener(new PrintListener()); treeBox.add(loadFileb); treeBox.add(loadURLb); treeBox.add(setIdb); treeBox.add(checkb); treeBox.setBorder(new TitledBorder("Schema")); nodeBox.add(duplicateb); nodeBox.add(choiceb); nodeBox.add(infosb); outputBox.add(previewb); outputBox.add(printb); associationButtons = new ButtonGroup(); fieldAssociation = new JRadioButton("to field"); duplicableFieldAssociation = new JRadioButton("to duplicable field"); dictionnaryAssociation = new JRadioButton("to dictionnary"); defaultAssociation = new JRadioButton("to default value"); autoGenerationAssociationButton = new JRadioButton("to automatic value"); flatFileAssociation = new JRadioButton("to flat file"); associationButtons.add(flatFileAssociation); associationButtons.add(duplicableFieldAssociation); associationButtons.add(fieldAssociation); associationButtons.add(dictionnaryAssociation); associationButtons.add(defaultAssociation); associationButtons.add(autoGenerationAssociationButton); associationButtons.setSelected(flatFileAssociation.getModel(), true); JButton genericAssociationb = new JButton("Associate"); Utils.setDefaultSize(genericAssociationb); genericAssociationb.addActionListener(new GenericAssociationListener()); JButton genericCancelAssociationb = new JButton("Cancel"); Utils.setDefaultSize(genericCancelAssociationb); genericCancelAssociationb.addActionListener(new GenericCancelAssociationListener()); associationBox.add(flatFileAssociation); associationBox.add(duplicableFieldAssociation); associationBox.add(fieldAssociation); JButton editFieldb = new JButton("validation"); Utils.setDefaultSize(editFieldb); editFieldb.addActionListener(new EditFieldAssociationListener()); associationBox.add(editFieldb); associationBox.add(dictionnaryAssociation); associationBox.add(defaultAssociation); associationBox.add(defaultAssociation); associationBox.add(autoGenerationAssociationButton); associationBox.add(genericAssociationb); associationBox.add(genericCancelAssociationb); buttonsPanel.add(treeBox); buttonsPanel.add(associationBox); buttonsPanel.add(nodeBox); buttonsPanel.add(outputBox); // lineBox2.add(lineBox2); // buttonsPanel.add(lineBox3); return buttonsPanel; }
From source file:renderer.DependencyGrapher.java
/** * create an instance of a simple graph in two views with controls to * demo the features.//from w w w . ja v a2 s .co m * */ public DependencyGrapher() { // create a simple graph for the demo final DependencyDirectedSparceMultiGraph<String, Number> graph = createGraph(); //TestGraphs.getOneComponentGraph(); // the preferred sizes for the two views // create one layout for the graph final FRLayout2<String, Number> layout = new FRLayout2<String, Number>(graph); layout.setMaxIterations(500); VisualizationModel<String, Number> vm = new DefaultVisualizationModel<String, Number>(layout, preferredSize1); Transformer<Number, String> stringer = new Transformer<Number, String>() { public String transform(Number e) { if (graph.getEdgeAttributes(e) != null) { return graph.getEdgeAttributes(e).toString(); } return null; } }; // create 2 views that share the same model final VisualizationViewer<String, Number> vv = new VisualizationViewer<String, Number>(vm, preferredSize1); vv.setBackground(Color.white); vv.getRenderContext().setEdgeLabelTransformer(stringer); vv.getRenderContext().setEdgeDrawPaintTransformer( new PickableEdgePaintTransformer<String, Number>(vv.getPickedEdgeState(), Color.black, Color.cyan)); vv.getRenderContext().setVertexFillPaintTransformer( new PickableVertexPaintTransformer<String>(vv.getPickedVertexState(), Color.red, Color.yellow)); vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<String>()); vv.getRenderer().getVertexLabelRenderer().setPosition(Renderer.VertexLabel.Position.AUTO); // add default listener for ToolTips vv.setVertexToolTipTransformer(new ToStringLabeller<String>()); // ToolTipManager.sharedInstance().setDismissDelay(10000); Container content = getContentPane(); Container panel = new JPanel(new BorderLayout()); GraphZoomScrollPane gzsp = new GraphZoomScrollPane(vv); panel.add(gzsp); helpDialog = new JDialog(); helpDialog.getContentPane().add(new JLabel(instructions)); RenderContext<String, Number> rc = vv.getRenderContext(); AnnotatingGraphMousePlugin annotatingPlugin = new AnnotatingGraphMousePlugin(rc); // create a GraphMouse for the main view // final AnnotatingModalGraphMouse graphMouse = new AnnotatingModalGraphMouse(rc, annotatingPlugin); vv.setGraphMouse(graphMouse); vv.addKeyListener(graphMouse.getModeKeyListener()); final ScalingControl scaler = new CrossoverScalingControl(); JButton filterReset = new JButton("Reset"); filterReset.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { vv.getModel().setGraphLayout(layout); } }); JButton filterFilter = new JButton("Filter"); filterReset.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { vv.getModel().setGraphLayout(layout); } }); JRadioButton filterDirectionInOut = new JRadioButton("In/Out"); filterDirectionInOut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Dependency Direction: " + EdgeType.IN_OUT); _filterEdgeDirection = EdgeType.IN_OUT; filterLayout = getNewLayout(graph, layout); vv.getModel().setGraphLayout(filterLayout); } }); JRadioButton filterDirectionIn = new JRadioButton("In"); filterDirectionIn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Dependency Direction: " + EdgeType.IN); _filterEdgeDirection = EdgeType.IN; filterLayout = getNewLayout(graph, layout); vv.getModel().setGraphLayout(filterLayout); } }); JRadioButton filterDirectionOut = new JRadioButton("Out"); filterDirectionOut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Dependency Direction: " + EdgeType.OUT); _filterEdgeDirection = EdgeType.OUT; filterLayout = getNewLayout(graph, layout); vv.getModel().setGraphLayout(filterLayout); } }); ButtonGroup filterRadios = new ButtonGroup(); filterRadios.add(filterDirectionInOut); filterRadios.add(filterDirectionIn); filterRadios.add(filterDirectionOut); filterRadios.setSelected(filterDirectionInOut.getModel(), true); JComboBox modeBox = graphMouse.getModeComboBox(); modeBox.setSelectedItem(ModalGraphMouse.Mode.PICKING); final JComboBox filterBox = new JComboBox(graph.getVertices().toArray()); filterBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { _filterChoice = filterBox.getSelectedItem().toString(); System.out.println(_filterChoice); filterLayout = getNewLayout(graph, layout); vv.getModel().setGraphLayout(filterLayout); } }); JButton help = new JButton("Help"); help.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { helpDialog.pack(); helpDialog.setVisible(true); } }); JPanel controls = new JPanel(); JPanel modeControls = new JPanel(); modeControls.setBorder(BorderFactory.createTitledBorder("Mouse Mode")); modeControls.add(graphMouse.getModeComboBox()); controls.add(modeControls); JPanel annotationControlPanel = new JPanel(); annotationControlPanel.setBorder(BorderFactory.createTitledBorder("Annotation Controls")); AnnotationControls annotationControls = new AnnotationControls(annotatingPlugin); annotationControlPanel.add(annotationControls.getAnnotationsToolBar()); controls.add(annotationControlPanel); JPanel helpControls = new JPanel(); helpControls.setBorder(BorderFactory.createTitledBorder("Help")); helpControls.add(help); controls.add(helpControls); JPanel filterControls = new JPanel(); filterControls.setBorder(BorderFactory.createTitledBorder("Filter")); filterControls.add(filterBox); filterControls.add(filterDirectionInOut); filterControls.add(filterDirectionIn); filterControls.add(filterDirectionOut); filterControls.add(filterReset); controls.add(filterControls); content.add(panel); content.add(controls, BorderLayout.SOUTH); }
From source file:samples.graph.PluggableRendererDemo.java
/** * @param jp panel to which controls will be added */// w ww . j a va 2 s.com protected void addBottomControls(final JPanel jp) { final JPanel control_panel = new JPanel(); jp.add(control_panel, BorderLayout.SOUTH); control_panel.setLayout(new BorderLayout()); final Box vertex_panel = Box.createVerticalBox(); vertex_panel.setBorder(BorderFactory.createTitledBorder("Vertices")); final Box edge_panel = Box.createVerticalBox(); edge_panel.setBorder(BorderFactory.createTitledBorder("Edges")); final Box both_panel = Box.createVerticalBox(); control_panel.add(vertex_panel, BorderLayout.WEST); control_panel.add(edge_panel, BorderLayout.EAST); control_panel.add(both_panel, BorderLayout.CENTER); // set up vertex controls v_color = new JCheckBox("vertex seed coloring"); v_color.addActionListener(this); v_stroke = new JCheckBox("<html>vertex selection<p>stroke highlighting</html>"); v_stroke.addActionListener(this); v_labels = new JCheckBox("show vertex ranks (voltages)"); v_labels.addActionListener(this); v_shape = new JCheckBox("vertex degree shapes"); v_shape.addActionListener(this); v_size = new JCheckBox("vertex voltage size"); v_size.addActionListener(this); v_size.setSelected(true); v_aspect = new JCheckBox("vertex degree ratio stretch"); v_aspect.addActionListener(this); v_small = new JCheckBox("filter vertices of degree < " + VertexDisplayPredicate.MIN_DEGREE); v_small.addActionListener(this); vertex_panel.add(v_color); vertex_panel.add(v_stroke); vertex_panel.add(v_labels); vertex_panel.add(v_shape); vertex_panel.add(v_size); vertex_panel.add(v_aspect); vertex_panel.add(v_small); // set up edge controls JPanel gradient_panel = new JPanel(new GridLayout(1, 0)); gradient_panel.setBorder(BorderFactory.createTitledBorder("Edge paint")); no_gradient = new JRadioButton("Solid color"); no_gradient.addActionListener(this); no_gradient.setSelected(true); // gradient_absolute = new JRadioButton("Absolute gradient"); // gradient_absolute.addActionListener(this); gradient_relative = new JRadioButton("Gradient"); gradient_relative.addActionListener(this); ButtonGroup bg_grad = new ButtonGroup(); bg_grad.add(no_gradient); bg_grad.add(gradient_relative); //bg_grad.add(gradient_absolute); gradient_panel.add(no_gradient); //gradientGrid.add(gradient_absolute); gradient_panel.add(gradient_relative); JPanel shape_panel = new JPanel(new GridLayout(3, 2)); shape_panel.setBorder(BorderFactory.createTitledBorder("Edge shape")); e_line = new JRadioButton("line"); e_line.addActionListener(this); e_line.setSelected(true); // e_bent = new JRadioButton("bent line"); // e_bent.addActionListener(this); e_wedge = new JRadioButton("wedge"); e_wedge.addActionListener(this); e_quad = new JRadioButton("quad curve"); e_quad.addActionListener(this); e_cubic = new JRadioButton("cubic curve"); e_cubic.addActionListener(this); ButtonGroup bg_shape = new ButtonGroup(); bg_shape.add(e_line); // bg.add(e_bent); bg_shape.add(e_wedge); bg_shape.add(e_quad); bg_shape.add(e_cubic); shape_panel.add(e_line); // shape_panel.add(e_bent); shape_panel.add(e_wedge); shape_panel.add(e_quad); shape_panel.add(e_cubic); fill_edges = new JCheckBox("fill edge shapes"); fill_edges.setSelected(false); fill_edges.addActionListener(this); shape_panel.add(fill_edges); shape_panel.setOpaque(true); e_color = new JCheckBox("edge weight highlighting"); e_color.addActionListener(this); e_labels = new JCheckBox("show edge weights"); e_labels.addActionListener(this); e_uarrow_pred = new JCheckBox("undirected"); e_uarrow_pred.addActionListener(this); e_darrow_pred = new JCheckBox("directed"); e_darrow_pred.addActionListener(this); e_darrow_pred.setSelected(true); JPanel arrow_panel = new JPanel(new GridLayout(1, 0)); arrow_panel.setBorder(BorderFactory.createTitledBorder("Show arrows")); arrow_panel.add(e_uarrow_pred); arrow_panel.add(e_darrow_pred); e_show_d = new JCheckBox("directed"); e_show_d.addActionListener(this); e_show_d.setSelected(true); e_show_u = new JCheckBox("undirected"); e_show_u.addActionListener(this); e_show_u.setSelected(true); JPanel show_edge_panel = new JPanel(new GridLayout(1, 0)); show_edge_panel.setBorder(BorderFactory.createTitledBorder("Show edges")); show_edge_panel.add(e_show_u); show_edge_panel.add(e_show_d); shape_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(shape_panel); gradient_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(gradient_panel); show_edge_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(show_edge_panel); arrow_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(arrow_panel); e_color.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(e_color); e_labels.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(e_labels); // set up zoom controls zoom_at_mouse = new JCheckBox("<html><center>zoom at mouse<p>(wheel only)</center></html>"); zoom_at_mouse.addActionListener(this); final ScalingControl scaler = new CrossoverScalingControl(); JButton plus = new JButton("+"); plus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(vv, 1.1f, vv.getCenter()); } }); JButton minus = new JButton("-"); minus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(vv, 1 / 1.1f, vv.getCenter()); } }); Box zoomPanel = Box.createVerticalBox(); zoomPanel.setBorder(BorderFactory.createTitledBorder("Zoom")); plus.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(plus); minus.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(minus); zoom_at_mouse.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(zoom_at_mouse); // add font and zoom controls to center panel font = new JCheckBox("bold text"); font.addActionListener(this); font.setAlignmentX(Component.CENTER_ALIGNMENT); both_panel.add(zoomPanel); both_panel.add(font); JComboBox modeBox = gm.getModeComboBox(); modeBox.setAlignmentX(Component.CENTER_ALIGNMENT); JPanel modePanel = new JPanel(new BorderLayout()) { public Dimension getMaximumSize() { return getPreferredSize(); } }; modePanel.setBorder(BorderFactory.createTitledBorder("Mouse Mode")); modePanel.add(modeBox); both_panel.add(modePanel); }
From source file:satalitelist.EdgeLabelDemo.java
/** * create an instance of a simple graph with controls to * demo the label positioning features// ww w . j a v a2 s . c o m * */ @SuppressWarnings("serial") public EdgeLabelDemo(StemAndCycleList al) { cities = (ArrayList<INode>) al.list; list = al; al.score = al.getCycleScore(); // create a simple graph for the demo graph = new SparseMultigraph<Integer, MyEdge>(); //Integer[] v = createVertices(7); fillSevenCitiesWithPrices(); for (INode n : cities) { graph.addVertex(Integer.parseInt(n.toString())); } createVertices(); //createEdges(v); Layout<Integer, MyEdge> layout = new FRLayout2<Integer, MyEdge>(graph); vv = new VisualizationViewer<Integer, MyEdge>(layout, new Dimension(1000, 800)); vv.setBackground(Color.white); vertexLabelRenderer = vv.getRenderContext().getVertexLabelRenderer(); edgeLabelRenderer = vv.getRenderContext().getEdgeLabelRenderer(); vv.getRenderContext().setEdgeLabelTransformer(new Transformer<MyEdge, String>() { public String transform(MyEdge i) { return i.toString(); } }); vv.getRenderContext().setEdgeDrawPaintTransformer( new PickableEdgePaintTransformer<MyEdge>(vv.getPickedEdgeState(), Color.black, Color.cyan)); vv.getRenderContext().setVertexFillPaintTransformer( new PickableVertexPaintTransformer<Integer>(vv.getPickedVertexState(), Color.red, Color.yellow)); // add my listener for ToolTips vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Integer>()); vv.getRenderContext().setEdgeStrokeTransformer(new Transformer<MyEdge, Stroke>() { public Stroke transform(MyEdge i) { switch (i.kind) { case NORMAL: return new BasicStroke(2, 1, 1, 0, new float[] { 10, 0 }, 0); case VIRTUAL: return new BasicStroke(2, 1, 1, 0, new float[] { 5 }, 0); case INVISIBLE: return new BasicStroke(1, 1, 1, 0, new float[] { 1, 10 }, 0); } throw new RuntimeException("No such a type"); } }); vv.getRenderer().getVertexLabelRenderer().setPosition(Renderer.VertexLabel.Position.CNTR); // create a frome to hold the graph final GraphZoomScrollPane panel = new GraphZoomScrollPane(vv); Container content = getContentPane(); content.add(panel); final DefaultModalGraphMouse<Integer, Number> graphMouse = new DefaultModalGraphMouse<Integer, Number>(); vv.setGraphMouse(graphMouse); JButton plus = new JButton("+"); plus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(vv, 1.1f, vv.getCenter()); } }); JButton minus = new JButton("-"); minus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(vv, 1 / 1.1f, vv.getCenter()); } }); ButtonGroup radio = new ButtonGroup(); JRadioButton lineButton = new JRadioButton("Line"); lineButton.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { vv.getRenderContext().setEdgeShapeTransformer(new EdgeShape.Line<Integer, MyEdge>()); vv.repaint(); } } }); JRadioButton quadButton = new JRadioButton("QuadCurve"); quadButton.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { vv.getRenderContext().setEdgeShapeTransformer(new EdgeShape.QuadCurve<Integer, MyEdge>()); vv.repaint(); } } }); JRadioButton cubicButton = new JRadioButton("CubicCurve"); cubicButton.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { vv.getRenderContext().setEdgeShapeTransformer(new EdgeShape.CubicCurve<Integer, MyEdge>()); vv.repaint(); } } }); radio.add(quadButton); radio.add(cubicButton); radio.add(lineButton); graphMouse.setMode(ModalGraphMouse.Mode.TRANSFORMING); Box controls = Box.createHorizontalBox(); JPanel zoomPanel = new JPanel(new GridLayout(0, 1)); zoomPanel.setBorder(BorderFactory.createTitledBorder("Scale")); zoomPanel.add(plus); zoomPanel.add(minus); JPanel edgePanel = new JPanel(new GridLayout(0, 1)); edgePanel.setBorder(BorderFactory.createTitledBorder("EdgeType Type")); edgePanel.add(lineButton); edgePanel.add(quadButton); edgePanel.add(cubicButton); JPanel rotatePanel = new JPanel(); rotatePanel.setBorder(BorderFactory.createTitledBorder("Alignment")); rotatePanel.add(cycleLabel); rotatePanel.add(stemLabel); rotatePanel.add(otherEndLabel); JPanel labelPanel = new JPanel(new BorderLayout()); labelPanel.add(rotatePanel, BorderLayout.WEST); JPanel modePanel = new JPanel(new GridLayout(2, 1)); modePanel.setBorder(BorderFactory.createTitledBorder("Mouse Mode")); modePanel.add(graphMouse.getModeComboBox()); JPanel movePanel = new JPanel(new GridLayout(2, 1)); modePanel.setBorder(BorderFactory.createTitledBorder("Make move")); JButton button = new JButton("Make move"); button.addActionListener(new StemAndCycleAl()); modePanel.add(button); controls.add(zoomPanel); controls.add(edgePanel); controls.add(labelPanel); controls.add(modePanel); controls.add(movePanel); content.add(controls, BorderLayout.SOUTH); lineButton.setSelected(true); }
From source file:sim.graph.MyPluggableRendererDemo.java
/** * @param jp panel to which controls will be added *//*from ww w. j a v a2 s .c o m*/ protected void addBottomControls(/*final JPanel jp*/) { /*final JPanel*/ control_panel = new JPanel(); // jp.add(control_panel, BorderLayout.SOUTH); // control_panel.setLayout(new BorderLayout()); control_panel.setLayout(new FlowLayout()); final Box vertex_panel = Box.createVerticalBox(); vertex_panel.setBorder(BorderFactory.createTitledBorder("Vertices")); final Box edge_panel = Box.createVerticalBox(); edge_panel.setBorder(BorderFactory.createTitledBorder("Edges")); final Box both_panel = Box.createVerticalBox(); control_panel.add(vertex_panel, BorderLayout.WEST); control_panel.add(edge_panel, BorderLayout.EAST); control_panel.add(both_panel, BorderLayout.CENTER); // set up vertex controls v_color = new JCheckBox("dimer coloring"); v_color.addActionListener(this); v_stroke = new JCheckBox("<html>vertex selection<p>stroke highlighting</html>"); v_stroke.addActionListener(this); v_labels = new JCheckBox("show vertex ranks (voltages)"); v_labels.addActionListener(this); v_shape = new JCheckBox("vertex degree shapes"); v_shape.addActionListener(this); v_size = new JCheckBox("vertex voltage size"); v_size.addActionListener(this); v_size.setSelected(true); v_aspect = new JCheckBox("vertex degree ratio stretch"); v_aspect.addActionListener(this); v_small = new JCheckBox("filter vertices of degree < " + VertexDisplayPredicate.MIN_DEGREE); v_small.addActionListener(this); vertex_panel.add(v_color); vertex_panel.add(v_stroke); vertex_panel.add(v_labels); vertex_panel.add(v_shape); vertex_panel.add(v_size); vertex_panel.add(v_aspect); vertex_panel.add(v_small); // set up edge controls JPanel gradient_panel = new JPanel(new GridLayout(1, 0)); gradient_panel.setBorder(BorderFactory.createTitledBorder("Edge paint")); no_gradient = new JRadioButton("Solid color"); no_gradient.addActionListener(this); no_gradient.setSelected(true); // gradient_absolute = new JRadioButton("Absolute gradient"); // gradient_absolute.addActionListener(this); gradient_relative = new JRadioButton("Gradient"); gradient_relative.addActionListener(this); ButtonGroup bg_grad = new ButtonGroup(); bg_grad.add(no_gradient); bg_grad.add(gradient_relative); //bg_grad.add(gradient_absolute); gradient_panel.add(no_gradient); //gradientGrid.add(gradient_absolute); gradient_panel.add(gradient_relative); JPanel shape_panel = new JPanel(new GridLayout(3, 2)); shape_panel.setBorder(BorderFactory.createTitledBorder("Edge shape")); e_line = new JRadioButton("line"); e_line.addActionListener(this); e_line.setSelected(true); // e_bent = new JRadioButton("bent line"); // e_bent.addActionListener(this); e_wedge = new JRadioButton("wedge"); e_wedge.addActionListener(this); e_quad = new JRadioButton("quad curve"); e_quad.addActionListener(this); e_cubic = new JRadioButton("cubic curve"); e_cubic.addActionListener(this); ButtonGroup bg_shape = new ButtonGroup(); bg_shape.add(e_line); // bg.add(e_bent); bg_shape.add(e_wedge); bg_shape.add(e_quad); bg_shape.add(e_cubic); shape_panel.add(e_line); // shape_panel.add(e_bent); shape_panel.add(e_wedge); shape_panel.add(e_quad); shape_panel.add(e_cubic); fill_edges = new JCheckBox("fill edge shapes"); fill_edges.setSelected(false); fill_edges.addActionListener(this); shape_panel.add(fill_edges); shape_panel.setOpaque(true); e_color = new JCheckBox("edge weight highlighting"); e_color.addActionListener(this); e_labels = new JCheckBox("show edge weights"); e_labels.addActionListener(this); e_uarrow_pred = new JCheckBox("undirected"); e_uarrow_pred.addActionListener(this); e_darrow_pred = new JCheckBox("directed"); e_darrow_pred.addActionListener(this); e_darrow_pred.setSelected(true); JPanel arrow_panel = new JPanel(new GridLayout(1, 0)); arrow_panel.setBorder(BorderFactory.createTitledBorder("Show arrows")); arrow_panel.add(e_uarrow_pred); arrow_panel.add(e_darrow_pred); e_show_d = new JCheckBox("directed"); e_show_d.addActionListener(this); e_show_d.setSelected(true); e_show_u = new JCheckBox("undirected"); e_show_u.addActionListener(this); e_show_u.setSelected(true); JPanel show_edge_panel = new JPanel(new GridLayout(1, 0)); show_edge_panel.setBorder(BorderFactory.createTitledBorder("Show edges")); show_edge_panel.add(e_show_u); show_edge_panel.add(e_show_d); shape_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(shape_panel); gradient_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(gradient_panel); show_edge_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(show_edge_panel); arrow_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(arrow_panel); e_color.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(e_color); e_labels.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(e_labels); // set up zoom controls zoom_at_mouse = new JCheckBox("<html><center>zoom at mouse<p>(wheel only)</center></html>"); zoom_at_mouse.addActionListener(this); final ScalingControl scaler = new CrossoverScalingControl(); JButton plus = new JButton("+"); plus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(visViewer, 1.1f, visViewer.getCenter()); } }); JButton minus = new JButton("-"); minus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(visViewer, 1 / 1.1f, visViewer.getCenter()); } }); Box zoomPanel = Box.createVerticalBox(); zoomPanel.setBorder(BorderFactory.createTitledBorder("Zoom")); plus.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(plus); minus.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(minus); zoom_at_mouse.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(zoom_at_mouse); // add font and zoom controls to center panel font = new JCheckBox("bold text"); font.addActionListener(this); font.setAlignmentX(Component.CENTER_ALIGNMENT); both_panel.add(zoomPanel); both_panel.add(font); JComboBox modeBox = gm.getModeComboBox(); modeBox.setAlignmentX(Component.CENTER_ALIGNMENT); JPanel modePanel = new JPanel(new BorderLayout()) { public Dimension getMaximumSize() { return getPreferredSize(); } }; modePanel.setBorder(BorderFactory.createTitledBorder("Mouse Mode")); modePanel.add(modeBox); both_panel.add(modePanel); }
From source file:test.visualization.PluggableRendererDemo.java
/** * @param jp panel to which controls will be added *//*from w w w . java 2 s . c om*/ @SuppressWarnings("serial") protected void addBottomControls(final JPanel jp) { final JPanel control_panel = new JPanel(); jp.add(control_panel, BorderLayout.EAST); control_panel.setLayout(new BorderLayout()); final Box vertex_panel = Box.createVerticalBox(); vertex_panel.setBorder(BorderFactory.createTitledBorder("Vertices")); final Box edge_panel = Box.createVerticalBox(); edge_panel.setBorder(BorderFactory.createTitledBorder("Edges")); final Box both_panel = Box.createVerticalBox(); control_panel.add(vertex_panel, BorderLayout.NORTH); control_panel.add(edge_panel, BorderLayout.SOUTH); control_panel.add(both_panel, BorderLayout.CENTER); // set up vertex controls v_color = new JCheckBox("seed highlight"); v_color.addActionListener(this); v_stroke = new JCheckBox("stroke highlight on selection"); v_stroke.addActionListener(this); v_labels = new JCheckBox("show voltage values"); v_labels.addActionListener(this); v_shape = new JCheckBox("shape by degree"); v_shape.addActionListener(this); v_size = new JCheckBox("size by voltage"); v_size.addActionListener(this); v_size.setSelected(true); v_aspect = new JCheckBox("stretch by degree ratio"); v_aspect.addActionListener(this); v_small = new JCheckBox("filter when degree < " + VertexDisplayPredicate.MIN_DEGREE); v_small.addActionListener(this); vertex_panel.add(v_color); vertex_panel.add(v_stroke); vertex_panel.add(v_labels); vertex_panel.add(v_shape); vertex_panel.add(v_size); vertex_panel.add(v_aspect); vertex_panel.add(v_small); // set up edge controls JPanel gradient_panel = new JPanel(new GridLayout(1, 0)); gradient_panel.setBorder(BorderFactory.createTitledBorder("Edge paint")); no_gradient = new JRadioButton("Solid color"); no_gradient.addActionListener(this); no_gradient.setSelected(true); // gradient_absolute = new JRadioButton("Absolute gradient"); // gradient_absolute.addActionListener(this); gradient_relative = new JRadioButton("Gradient"); gradient_relative.addActionListener(this); ButtonGroup bg_grad = new ButtonGroup(); bg_grad.add(no_gradient); bg_grad.add(gradient_relative); //bg_grad.add(gradient_absolute); gradient_panel.add(no_gradient); //gradientGrid.add(gradient_absolute); gradient_panel.add(gradient_relative); JPanel shape_panel = new JPanel(new GridLayout(3, 2)); shape_panel.setBorder(BorderFactory.createTitledBorder("Edge shape")); e_line = new JRadioButton("line"); e_line.addActionListener(this); e_line.setSelected(true); // e_bent = new JRadioButton("bent line"); // e_bent.addActionListener(this); e_wedge = new JRadioButton("wedge"); e_wedge.addActionListener(this); e_quad = new JRadioButton("quad curve"); e_quad.addActionListener(this); e_cubic = new JRadioButton("cubic curve"); e_cubic.addActionListener(this); e_ortho = new JRadioButton("orthogonal"); e_ortho.addActionListener(this); ButtonGroup bg_shape = new ButtonGroup(); bg_shape.add(e_line); // bg.add(e_bent); bg_shape.add(e_wedge); bg_shape.add(e_quad); bg_shape.add(e_ortho); bg_shape.add(e_cubic); shape_panel.add(e_line); // shape_panel.add(e_bent); shape_panel.add(e_wedge); shape_panel.add(e_quad); shape_panel.add(e_cubic); shape_panel.add(e_ortho); fill_edges = new JCheckBox("fill edge shapes"); fill_edges.setSelected(false); fill_edges.addActionListener(this); shape_panel.add(fill_edges); shape_panel.setOpaque(true); e_color = new JCheckBox("highlight edge weights"); e_color.addActionListener(this); e_labels = new JCheckBox("show edge weight values"); e_labels.addActionListener(this); e_uarrow_pred = new JCheckBox("undirected"); e_uarrow_pred.addActionListener(this); e_darrow_pred = new JCheckBox("directed"); e_darrow_pred.addActionListener(this); e_darrow_pred.setSelected(true); JPanel arrow_panel = new JPanel(new GridLayout(1, 0)); arrow_panel.setBorder(BorderFactory.createTitledBorder("Show arrows")); arrow_panel.add(e_uarrow_pred); arrow_panel.add(e_darrow_pred); e_show_d = new JCheckBox("directed"); e_show_d.addActionListener(this); e_show_d.setSelected(true); e_show_u = new JCheckBox("undirected"); e_show_u.addActionListener(this); e_show_u.setSelected(true); JPanel show_edge_panel = new JPanel(new GridLayout(1, 0)); show_edge_panel.setBorder(BorderFactory.createTitledBorder("Show edges")); show_edge_panel.add(e_show_u); show_edge_panel.add(e_show_d); shape_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(shape_panel); gradient_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(gradient_panel); show_edge_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(show_edge_panel); arrow_panel.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(arrow_panel); e_color.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(e_color); e_labels.setAlignmentX(Component.LEFT_ALIGNMENT); edge_panel.add(e_labels); // set up zoom controls zoom_at_mouse = new JCheckBox("<html><center>zoom at mouse<p>(wheel only)</center></html>"); zoom_at_mouse.addActionListener(this); zoom_at_mouse.setSelected(true); final ScalingControl scaler = new CrossoverScalingControl(); JButton plus = new JButton("+"); plus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(vv, 1.1f, vv.getCenter()); } }); JButton minus = new JButton("-"); minus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scaler.scale(vv, 1 / 1.1f, vv.getCenter()); } }); JPanel zoomPanel = new JPanel(); zoomPanel.setBorder(BorderFactory.createTitledBorder("Zoom")); plus.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(plus); minus.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(minus); zoom_at_mouse.setAlignmentX(Component.CENTER_ALIGNMENT); zoomPanel.add(zoom_at_mouse); JPanel fontPanel = new JPanel(); // add font and zoom controls to center panel font = new JCheckBox("bold text"); font.addActionListener(this); font.setAlignmentX(Component.CENTER_ALIGNMENT); fontPanel.add(font); both_panel.add(zoomPanel); both_panel.add(fontPanel); JComboBox modeBox = gm.getModeComboBox(); modeBox.setAlignmentX(Component.CENTER_ALIGNMENT); JPanel modePanel = new JPanel(new BorderLayout()) { public Dimension getMaximumSize() { return getPreferredSize(); } }; modePanel.setBorder(BorderFactory.createTitledBorder("Mouse Mode")); modePanel.add(modeBox); JPanel comboGrid = new JPanel(new GridLayout(0, 1)); comboGrid.add(modePanel); fontPanel.add(comboGrid); JComboBox cb = new JComboBox(); cb.addItem(Renderer.VertexLabel.Position.N); cb.addItem(Renderer.VertexLabel.Position.NE); cb.addItem(Renderer.VertexLabel.Position.E); cb.addItem(Renderer.VertexLabel.Position.SE); cb.addItem(Renderer.VertexLabel.Position.S); cb.addItem(Renderer.VertexLabel.Position.SW); cb.addItem(Renderer.VertexLabel.Position.W); cb.addItem(Renderer.VertexLabel.Position.NW); cb.addItem(Renderer.VertexLabel.Position.N); cb.addItem(Renderer.VertexLabel.Position.CNTR); cb.addItem(Renderer.VertexLabel.Position.AUTO); cb.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { Renderer.VertexLabel.Position position = (Renderer.VertexLabel.Position) e.getItem(); vv.getRenderer().getVertexLabelRenderer().setPosition(position); vv.repaint(); } }); cb.setSelectedItem(Renderer.VertexLabel.Position.SE); JPanel positionPanel = new JPanel(); positionPanel.setBorder(BorderFactory.createTitledBorder("Label Position")); positionPanel.add(cb); comboGrid.add(positionPanel); }
From source file:tvbrowser.extras.favoritesplugin.wizards.TypeWizardStep.java
public JPanel createContent(final WizardHandler handler) { LinkButton expertBtn = new LinkButton(mLocalizer.msg("advancedView", "Switch to expert view"), null); CellConstraints cc = new CellConstraints(); PanelBuilder panelBuilder = new PanelBuilder( new FormLayout("5dlu, pref, default:grow", "pref, 5dlu, pref, 5dlu, pref, 5dlu, pref, 5dlu, pref")); panelBuilder.add(new JLabel(mMainQuestion), cc.xyw(1, 1, 3)); panelBuilder.add(mTitleRb = new JRadioButton(mLocalizer.msg("option.title", "I like this program:")), cc.xy(2, 3));/*from w ww. j a v a2s . co m*/ panelBuilder.add(mProgramNameTf = new JTextField(), cc.xy(3, 3)); panelBuilder.add(mTopicRb = new JRadioButton(mLocalizer.msg("option.topic", "I like this subject:")), cc.xy(2, 5)); panelBuilder.add(mTopicTf = new JTextField(), cc.xy(3, 5)); panelBuilder.add(mActorsRb = new JRadioButton(mLocalizer.msg("option.actors", "I like these actors:")), cc.xy(2, 7)); mActorsCb = new JComboBox(); mActorsCb.setEditable(true); panelBuilder.add(mActorsCb, cc.xy(3, 7)); panelBuilder.setBorder(Borders.DLU4_BORDER); panelBuilder.add(expertBtn, cc.xyw(1, 9, 3)); ButtonGroup group = new ButtonGroup(); group.add(mTitleRb); group.add(mTopicRb); group.add(mActorsRb); mTitleRb.setSelected(true); updateTextfields(); mTitleRb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateTextfields(); } }); mTopicRb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateTextfields(); } }); mActorsRb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateTextfields(); } }); expertBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handler.closeCurrentStep(); String title; if (mProgram != null) { title = mProgram.getTitle(); } else { title = ""; } AdvancedFavorite favorite = new AdvancedFavorite(title); Window parent = UiUtilities.getLastModalChildOf(MainFrame.getInstance()); EditFavoriteDialog dlg = new EditFavoriteDialog(parent, favorite); UiUtilities.centerAndShow(dlg); if (dlg.getOkWasPressed()) { FavoriteTreeModel.getInstance().addFavorite(favorite, mParentNode); FavoritesPlugin.getInstance().updateRootNode(true); if (ManageFavoritesDialog.getInstance() != null) { ManageFavoritesDialog.getInstance().addFavorite(favorite, false); } } } }); if (mProgram != null) { mProgramNameTf.setText(mProgram.getTitle()); String[] actors = ProgramUtilities.getActorNames(mProgram); if (actors != null) { for (String actor : actors) { mActorsCb.addItem(actor); } } } mContent = panelBuilder.getPanel(); mContent.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { handleFocusEvent(); } }); mContent.addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent e) { handleFocusEvent(); } }); if (mTopic != null) { mTopicRb.setSelected(true); updateTextfields(); mTopicTf.setText(mTopic); // the topic might also be an actor name if (mActor == null && ProgramUtilities.getActorNames(mProgram) == null) { mActorsCb.setSelectedItem(mTopic); } } else if (mActor != null) { mActorsRb.setSelected(true); updateTextfields(); mActorsCb.setSelectedItem(mActor); } return mContent; }
From source file:tvbrowser.ui.settings.WebbrowserSettingsTab.java
/** * Creates the settings panel for this tab. *//*from w ww . jav a2 s .c o m*/ public JPanel createSettingsPanel() { mSettingsPn = new JPanel(new FormLayout("5dlu, 10dlu, pref, 3dlu, pref, 3dlu, pref, fill:3dlu:grow, 3dlu", "pref, 5dlu, pref, 5dlu, pref, 5dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref")); mSettingsPn.setBorder(Borders.DIALOG_BORDER); CellConstraints cc = new CellConstraints(); mSettingsPn.add( DefaultComponentFactory.getInstance().createSeparator(mLocalizer.msg("browser", "Web browser")), cc.xyw(1, 1, 9)); JButton testButton = new LinkButton(mLocalizer.msg("testBrowser", "Test Webbrowser"), "http://www.tvbrowser.org", SwingConstants.LEFT, false); testButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String buffer = Settings.propUserDefinedWebbrowser.getString(); String bufferParams = Settings.propUserDefinedWebbrowserParams.getString(); saveSettings(); Launch.openURL("http://www.tvbrowser.org"); Settings.propUserDefinedWebbrowser.setString(buffer); Settings.propUserDefinedWebbrowserParams.setString(bufferParams); } }); mSettingsPn.add(UiUtilities.createHelpTextArea(mLocalizer.msg("help", "Help Text")), cc.xyw(2, 3, 7)); mSettingsPn.add(testButton, cc.xyw(2, 5, 7)); mSettingsPn.add(new JLabel(mLocalizer.msg("whichBrowser", "which browser")), cc.xyw(2, 7, 7)); JRadioButton useDefault = new JRadioButton(mLocalizer.msg("defaultWebbrowser", "Default Webbrowser")); useDefault.setSelected(Settings.propUserDefinedWebbrowser.getString() == null); useDefault.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateInputFields(); } }); mSettingsPn.add(useDefault, cc.xyw(2, 9, 4)); mUseWebbrowser = new JRadioButton(mLocalizer.msg("userDefinedWebbrowser", "user defined webbrowser")); mUseWebbrowser.setSelected(Settings.propUserDefinedWebbrowser.getString() != null); mUseWebbrowser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateInputFields(); } }); ButtonGroup group = new ButtonGroup(); group.add(useDefault); group.add(mUseWebbrowser); mSettingsPn.add(mUseWebbrowser, cc.xyw(2, 11, 7)); mSettingsPn.add(new JLabel(mLocalizer.msg("browserExecutable", "Executable") + ":"), cc.xy(3, 13)); mFileTextField = new JTextField(30); mFileTextField.setText(Settings.propUserDefinedWebbrowser.getString()); mSettingsPn.add(mFileTextField, cc.xy(5, 13)); mChooseButton = new JButton(Localizer.getLocalization(Localizer.I18N_SELECT)); mChooseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { if (mFileChooser == null) { mFileChooser = new JFileChooser(); if (OperatingSystem.isMacOs()) { mFileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); } else { mFileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); } } int retVal = mFileChooser.showOpenDialog(mSettingsPn.getParent()); if (retVal == JFileChooser.APPROVE_OPTION) { File f = mFileChooser.getSelectedFile(); if (f != null) { mFileTextField.setText(f.getAbsolutePath()); } } } }); mSettingsPn.add(mChooseButton, cc.xy(7, 13)); mSettingsPn.add(new JLabel(mLocalizer.msg("browserParameter", "Parameter") + ":"), cc.xy(3, 15)); mParams = new JTextField(); mParams.setText(Settings.propUserDefinedWebbrowserParams.getString()); mSettingsPn.add(mParams, cc.xy(5, 15)); mSettingsPn.add(new JLabel(mLocalizer.msg("browserParameterHelp", "{0} will be replaced by the url.")), cc.xyw(5, 17, 4)); updateInputFields(); return mSettingsPn; }
From source file:uk.nhs.cfh.dsp.srth.desktop.modules.simulator.viewcomponent.DataGenerationPanel.java
/** * Inits the components.//from www . ja va2 s. co m */ public synchronized void initComponents() { while (activeFrame == null) { if (applicationService != null && applicationService.getFrameView() != null) { activeFrame = applicationService.getFrameView().getActiveFrame(); } } JPanel runPanel = new JPanel(); runPanel.setLayout(new BoxLayout(runPanel, BoxLayout.LINE_AXIS)); runPanel.setBorder(BorderFactory.createEmptyBorder(paddingSize, paddingSize, paddingSize, paddingSize)); JXLabel label = new JXLabel(); label.setLineWrap(true); label.setText( "<html>This panel allows the creation of clinically plausible data based on a query specification. " + "Please note that you <b>must</b> always specify a data generation source. " + "The rest of the parameters can be left in their default state. When you've configured the parameters " + "click the 'Generate data' button.</html>"); runPanel.add(label); runPanel.add(new JSeparator(SwingConstants.VERTICAL)); runPanel.add(Box.createHorizontalStrut(paddingSize)); JideButton runButton = new JideButton(new GenerateDataAction(applicationService, queryService, dataGenerationEngine, propertyChangeTrackerService)); runButton.setButtonStyle(ButtonStyle.HYPERLINK_STYLE); runPanel.add(runButton); runButton.setIcon(new ImageIcon(DataGenerationPanel.class.getResource("resources/linuxconf.png"))); runPanel.add(Box.createHorizontalStrut(paddingSize)); // create radio buttons for choosing source JRadioButton queryButton = new JRadioButton("Active Query"); queryButton.setSelected(true); queryButton.addActionListener(this); queryButton.setActionCommand("activeQuery"); JRadioButton fileButton = new JRadioButton("File"); fileButton.addActionListener(this); fileButton.setActionCommand("file"); JRadioButton folderButton = new JRadioButton("Folder"); folderButton.addActionListener(this); folderButton.setActionCommand("folder"); ButtonGroup bg = new ButtonGroup(); bg.add(queryButton); bg.add(fileButton); bg.add(folderButton); JPanel buttonsPanel = new JPanel(); buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.LINE_AXIS)); // buttonsPanel.add(new JLabel("Select data generation source")); buttonsPanel.setBorder(BorderFactory.createTitledBorder("Select data generation source")); buttonsPanel.add(Box.createHorizontalStrut(paddingSize)); buttonsPanel.add(queryButton); buttonsPanel.add(Box.createHorizontalStrut(paddingSize)); buttonsPanel.add(fileButton); buttonsPanel.add(Box.createHorizontalStrut(paddingSize)); buttonsPanel.add(folderButton); locationField = new JTextField(100); JButton loadQueryButton = new JButton("Browse"); loadQueryButton.addActionListener(this); loadQueryButton.setActionCommand("load"); locationPanel = new JPanel(); locationPanel.setLayout(new BoxLayout(locationPanel, BoxLayout.LINE_AXIS)); locationPanel.add(new JLabel("Load file from")); locationPanel.add(Box.createHorizontalStrut(paddingSize)); locationPanel.add(locationField); locationPanel.add(Box.createHorizontalStrut(paddingSize)); locationPanel.add(loadQueryButton); JPanel lhsPanel = new JPanel(new GridLayout(0, 2)); JPanel rhsPanel = new JPanel(new GridLayout(0, 2)); lhsPanel.add(new JLabel("Max number of patients to generate")); SpinnerNumberModel model = new SpinnerNumberModel(initialPatientsNumber, 1, 1000000, 1); ptNumberSpinner = new JSpinner(model); ptNumberSpinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent event) { // get value currently selected in spinner and set in engine dataGenerationEngine.setMaxPatientNumber(Long.parseLong(ptNumberSpinner.getValue().toString())); // Object value = ptNumberSpinner.getValue(); // if(value instanceof Double) // { // Double d = (Double) ptNumberSpinner.getValue(); // dataGenerationEngine.setMaxPatientNumber(d.longValue()); // } // else // { // dataGenerationEngine.setMaxPatientNumber(Long.parseLong(ptNumberSpinner.getValue().toString())); // } logger.debug("ptNumberSpinner.getValue().getClass() = " + ptNumberSpinner.getValue().getClass()); logger.debug("Max pt number in engine set to : " + dataGenerationEngine.getMaxPatientNumber()); } }); lhsPanel.add(ptNumberSpinner); lhsPanel.add(new JLabel("Min age of patients to generate")); SpinnerNumberModel ageModel = new SpinnerNumberModel(initialMinimumAge, 1, 120, 1); minAgeSpinner = new JSpinner(ageModel); minAgeSpinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { // set min pt age to current value dataGenerationEngine.setMinPatientAgeInYears(Integer.parseInt(minAgeSpinner.getValue().toString())); logger.debug("Value of engine.getMinPatientAgeInYears() : " + dataGenerationEngine.getMinPatientAgeInYears()); } }); lhsPanel.add(minAgeSpinner); lhsPanel.add(new JLabel("Data generation strategy")); generationStrategyBox = new JComboBox(DataGenerationEngine.DataGenerationStrategy.values()); generationStrategyBox.setSelectedItem(DataGenerationEngine.DataGenerationStrategy.ADD_IF_NOT_EXISTS); generationStrategyBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dataGenerationEngine.setDataGenerationStrategy( (DataGenerationEngine.DataGenerationStrategy) generationStrategyBox.getSelectedItem()); } }); lhsPanel.add(generationStrategyBox); includeExcludedTermsBox = new JCheckBox(new AbstractAction("Include Excluded terms in data") { public void actionPerformed(ActionEvent arg0) { dataGenerationEngine.setIncludeExcludedTerms(includeExcludedTermsBox.isSelected()); logger.debug("dataGenerationEngine.isIncludeExcludedTerms() = " + dataGenerationEngine.isIncludeExcludedTerms()); } }); rhsPanel.add(includeExcludedTermsBox); randomiseNumericalValuesBox = new JCheckBox(new AbstractAction("Randomise Numerical values in data") { public void actionPerformed(ActionEvent arg0) { dataGenerationEngine.setRandomiseNumericalValues(randomiseNumericalValuesBox.isSelected()); logger.debug("dataGenerationEngine.isRandomiseNumericalValues() = " + dataGenerationEngine.isRandomiseNumericalValues()); } }); rhsPanel.add(randomiseNumericalValuesBox); refineQualifiersCheckBox = new JCheckBox(new AbstractAction("Refine Qualifiers in expression") { public void actionPerformed(ActionEvent e) { dataGenerationEngine.setRefineQualifiers(refineQualifiersCheckBox.isSelected()); logger.debug( "dataGenerationEngine.isRefineQualifiers() = " + dataGenerationEngine.isRefineQualifiers()); } }); rhsPanel.add(refineQualifiersCheckBox); includePreCoordinatedDataCheckBox = new JCheckBox( new AbstractAction("Include pre-coordinated expressions") { public void actionPerformed(ActionEvent e) { dataGenerationEngine .setIncludePrecoordinatedData(includePreCoordinatedDataCheckBox.isSelected()); logger.debug("dataGenerationEngine.isIncludePrecoordinatedData() = " + dataGenerationEngine.isIncludePrecoordinatedData()); } }); rhsPanel.add(includePreCoordinatedDataCheckBox); rhsPanel.add(new JLabel(" ")); /* * create panel for parametrising engine */ JPanel parametrisationPanel = new JPanel(); parametrisationPanel.setLayout(new GridLayout(0, 2)); parametrisationPanel.setBorder(BorderFactory.createTitledBorder("Engine Parameters")); // add panels to parametrisation panel parametrisationPanel.add(lhsPanel); parametrisationPanel.add(rhsPanel); JPanel topPanel = new JPanel(); topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.LINE_AXIS)); topPanel.add(runPanel); topPanel.add(new JSeparator(SwingConstants.VERTICAL)); topPanel.add(buttonsPanel); // add all panels to this component setLayout(new BorderLayout()); add(topPanel, BorderLayout.NORTH); add(parametrisationPanel, BorderLayout.CENTER); // initialise values populateFields(dataGenerationEngine); }