List of usage examples for com.jgoodies.forms.layout CellConstraints rchw
public CellConstraints rchw(int row, int col, int rowSpan, int colSpan)
Examples:
cc.rchw(1, 3, 2, 1); cc.rchw(1, 3, 7, 3);
From source file:edu.udo.scaffoldhunter.gui.datasetmanagement.ManageRulesetsDialog.java
License:Open Source License
/** * Initialises all GUI components// w w w . j a v a 2s . c o m */ private void initGUI() { FormLayout containerLayout; PanelBuilder containerBuilder; FormLayout leftLayout; PanelBuilder leftBuilder; FormLayout rightLayout; PanelBuilder rightBuilder; ButtonStackBuilder rulesetListButtons; ButtonStackBuilder ruleAddRemoveButtons; ButtonStackBuilder ruleUpDownButtons; CellConstraints cc = new CellConstraints(); String listPrototypeElement = "____________________"; int listsNumRows = 15; JComboBox ascendingChooser; setTitle(_("ManageRulesets.WindowTitle")); setLayout(new BorderLayout()); setModal(true); container = new JPanel(); add(container, BorderLayout.CENTER); containerLayout = new FormLayout("p, 2dlu, p:g(1.0)", "f:p:g(1.0), p"); containerBuilder = new PanelBuilder(containerLayout, container); containerBuilder.setDefaultDialogBorder(); leftContainer = new JPanel(); leftContainer.setBorder(BorderFactory.createTitledBorder(_("ManageRulesets.Rulesets"))); containerBuilder.add(leftContainer, cc.rc(1, 1)); leftLayout = new FormLayout("p, 2dlu, p:g(1.0)", "f:p:g(1.0)"); leftBuilder = new PanelBuilder(leftLayout, leftContainer); rulesets = new DefaultListModel(); rulesetsList = new JList(rulesets); rulesetsList.setVisibleRowCount(listsNumRows); rulesetsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); rulesetsList.setPrototypeCellValue(listPrototypeElement); rulesetsList.addListSelectionListener(new RulesetsListSelectionListener()); rulesetsListScroll = new JScrollPane(rulesetsList); leftBuilder.add(rulesetsListScroll, cc.rc(1, 1)); newRulesetButton = new JButton(new NewRulesetAction()); deleteRulesetButton = new JButton(new DeleteRulesetAction(this)); rulesetListButtons = new ButtonStackBuilder(); rulesetListButtons.addGridded(newRulesetButton); rulesetListButtons.addRelatedGap(); rulesetListButtons.addGridded(deleteRulesetButton); leftBuilder.add(rulesetListButtons.getPanel(), cc.rc(1, 3)); rightContainer = new JPanel(); rightContainer.setBorder(BorderFactory.createTitledBorder(_("ManageRulesets.Ruleset"))); containerBuilder.add(rightContainer, cc.rc(1, 3)); rulesetTitle = new JTextField(); rulesetTitleListener = new RulesetTitleDocumentListener(); rulesetTitle.getDocument().addDocumentListener(rulesetTitleListener); defaultRulesetTitleBorder = rulesetTitle.getBorder(); ruleSelection = new RuleSelectionListener(); existingRules = new DefaultListModel(); existingRulesList = new JList(existingRules); existingRulesList.setVisibleRowCount(listsNumRows); existingRulesList.setMinimumSize(new Dimension(120, 20)); existingRulesList.addListSelectionListener(ruleSelection); existingRulesListScroll = new JScrollPane(existingRulesList); existingRulesListScroll.setMinimumSize(new Dimension(160, 20)); existingRulesListScroll.setPreferredSize(new Dimension(160, 20)); usedRules = new RulesetTableModel(); usedRulesTable = new JTable(usedRules); usedRulesTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); usedRulesTable.getSelectionModel().addListSelectionListener(ruleSelection); usedRulesTableScroll = new JScrollPane(usedRulesTable); usedRulesTableScroll.setPreferredSize(new Dimension(300, 200)); ascendingChooser = new JComboBox(); ascendingChooser.addItem(_("ManageRulesets.UsedRules.Ascending.True")); ascendingChooser.addItem(_("ManageRulesets.UsedRules.Ascending.False")); usedRulesTable.getColumnModel().getColumn(0).setPreferredWidth(150); usedRulesTable.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(ascendingChooser)); usedRulesTable.getColumnModel().getColumn(1).getCellEditor() .addCellEditorListener(new CellEditorListener() { @Override public void editingStopped(ChangeEvent e) { rulesetChanged(); } @Override public void editingCanceled(ChangeEvent e) { // do nothing } }); usedRulesTable.getColumnModel().getColumn(1).setPreferredWidth(170); usedRulesTable.setRowHeight(ascendingChooser.getPreferredSize().height); usedRulesTable.getTableHeader().setReorderingAllowed(false); addRuleButton = new JButton(new AddRuleAction()); removeRuleButton = new JButton(new RemoveRuleAction()); ruleAddRemoveButtons = new ButtonStackBuilder(); ruleAddRemoveButtons.addButton(addRuleButton, removeRuleButton); ruleUpButton = new JButton(new RuleUpAction()); ruleDownButton = new JButton(new RuleDownAction()); ruleUpDownButtons = new ButtonStackBuilder(); ruleUpDownButtons.addButton(ruleUpButton, ruleDownButton); infoLabel = new JEditorPane(); infoLabel.setContentType("text/html"); infoLabel.setText(_("ManageRulesets.HelpNoSelection")); infoLabel.setEditable(false); infoLabel.setBackground(rightContainer.getBackground()); infoLabel.setPreferredSize(new Dimension(30, 40)); infoLabel.setMaximumSize(new Dimension(30, 40)); infoLabel.addHyperlinkListener(new HyperlinkListener() { @Override public void hyperlinkUpdate(HyperlinkEvent e) { // if clicked, open url in browser if (e.getEventType() == EventType.ACTIVATED) { UrlOpener.browse(e.getURL()); } } }); saveButton = new JButton(new SaveAction()); saveButton.setEnabled(false); rightLayout = new FormLayout("p, 2dlu, l:m, d, p:g, d, f:m", // 7 colums "t:p, 2dlu, p, d, f:p:g, d, p, d, f:p"); // 9 rows rightLayout.setColumnGroups(new int[][] { /* { 1, 5 }, */{ 2, 4, 6 } }); rightLayout.setRowGroups(new int[][] { { 2, 4, 6, 8 } }); rightBuilder = new PanelBuilder(rightLayout, rightContainer); rightBuilder.addLabel(_("ManageRulesets.RulesetLabel"), cc.rc(1, 1)); rightBuilder.add(rulesetTitle, cc.rcw(1, 3, 5)); rightBuilder.addLabel(_("ManageRulesets.ExistingRules"), cc.rc(3, 1)); rightBuilder.add(existingRulesListScroll, cc.rc(5, 1)); rightBuilder.add(ruleAddRemoveButtons.getPanel(), cc.rc(5, 3)); rightBuilder.addLabel(_("ManageRulesets.UsedRules"), cc.rc(3, 5)); rightBuilder.add(usedRulesTableScroll, cc.rc(5, 5)); rightBuilder.add(ruleUpDownButtons.getPanel(), cc.rc(5, 7)); rightBuilder.add(saveButton, cc.rchw(7, 7, 3, 1)); rightBuilder.addLabel(_("ManageRulesets.Help"), cc.rc(7, 1)); rightBuilder.add(infoLabel, cc.rcw(9, 1, 5)); okButton = StandardButtonFactory.createCloseButton(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { confirmIfUnsavedChanges(); dispose(); } }); getRootPane().setDefaultButton(okButton); containerBuilder.add(ButtonBarFactory.buildOKBar(okButton), cc.rcw(2, 1, 3)); setRulesetEditingEnable(false, false); }
From source file:edu.udo.scaffoldhunter.view.util.TooltipManager.java
License:Open Source License
private JPanel buildPanel(Structure structure) { tooltipPanel = new JPanel(); FormLayout tooltipPanelLayout = new FormLayout("d, 2dlu, d:g", "d, 2dlu, t:d:g"); PanelBuilder tooltipPanelBuilder = new PanelBuilder(tooltipPanelLayout, tooltipPanel); tooltipPanelBuilder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); tooltipPanelBuilder.add(new SizedSVGLabel(structure), cc.rc(1, 1)); JComponent propertyComponent = buildPropertyPanel(structure); tooltipPanelBuilder.add(propertyComponent, cc.rchw(1, 3, 3, 1)); CommentComponent commentComponent = new CommentComponent(db, structure, profile); // Textareas will be added to and removed from one of the // CommentComponents child panels // when that happens resize the dialog for (JPanel p : Iterables.filter(Arrays.asList(commentComponent.getComponents()), JPanel.class)) p.addContainerListener(new ContainerListener() { @Override/* ww w . j a v a 2s .c o m*/ public void componentRemoved(ContainerEvent e) { tooltip.pack(); } @Override public void componentAdded(ContainerEvent e) { tooltip.pack(); } }); tooltipPanelBuilder.add(commentComponent, cc.rcw(3, 1, 1)); return tooltipPanel; }