List of usage examples for com.jgoodies.forms.layout FormLayout appendRow
public void appendRow(RowSpec rowSpec)
From source file:util.ui.PluginChooserDlg.java
License:Open Source License
private void init(ProgramReceiveIf[] pluginArr, String description, ProgramReceiveIf caller, Hashtable<ProgramReceiveIf, ArrayList<ProgramReceiveTarget>> targetTable, final ProgramReceiveTarget[] disabledReceiveTargets) { mOkWasPressed = false;/* w w w.j av a 2 s .co m*/ setTitle(mLocalizer.msg("title", "Choose Plugins")); UiUtilities.registerForClosing(this); if (pluginArr == null) { mPluginArr = new ProgramReceiveIf[] {}; mResultPluginArr = new ProgramReceiveIf[] {}; mReceiveTargetTable = new Hashtable<ProgramReceiveIf, ArrayList<ProgramReceiveTarget>>(); } else { mPluginArr = pluginArr; mResultPluginArr = pluginArr; mReceiveTargetTable = targetTable; } JPanel contentPane = (JPanel) getContentPane(); FormLayout layout = new FormLayout("fill:pref:grow", ""); contentPane.setLayout(layout); contentPane.setBorder(Borders.DLU4_BORDER); CellConstraints cc = new CellConstraints(); ProgramReceiveIf[] tempProgramReceiveIf = Plugin.getPluginManager().getReceiveIfs(caller, null); ArrayList<ProgramReceiveIf> disabledList = new ArrayList<ProgramReceiveIf>( disabledReceiveTargets != null ? disabledReceiveTargets.length : 0); if (disabledReceiveTargets != null) { for (ProgramReceiveTarget target : disabledReceiveTargets) { disabledList.add(target.getReceifeIfForIdOfTarget()); } } if (caller != null) { ArrayList<ProgramReceiveIf> list = new ArrayList<ProgramReceiveIf>(); for (ProgramReceiveIf tempIf : tempProgramReceiveIf) { if (tempIf.getId().compareTo(caller.getId()) != 0) { list.add(tempIf); } } mPluginItemList = new SelectableItemList(mResultPluginArr, list.toArray(), disabledList.toArray()); } else { mPluginItemList = new SelectableItemList(mResultPluginArr, tempProgramReceiveIf, disabledList.toArray()); } mPluginItemList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); int pos = 1; layout.appendRow(RowSpec.decode("fill:default:grow")); layout.appendRow(RowSpec.decode("3dlu")); if (targetTable != null) { JSplitPane splitPane = new JSplitPane(); splitPane.setLeftComponent(mPluginItemList); final JPanel targetPanel = new JPanel(); targetPanel.setLayout(new BorderLayout()); // JScrollPane targetScrollPane = new JScrollPane(mTargetPanel); // targetScrollPane.getVerticalScrollBar().setUnitIncrement(10); mPluginItemList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { try { if (!e.getValueIsAdjusting()) { targetPanel.removeAll(); SelectableItem pluginItem = (SelectableItem) mPluginItemList.getSelectedValue(); final ProgramReceiveIf plugin = (ProgramReceiveIf) pluginItem.getItem(); mCurrentTargets = plugin.getProgramReceiveTargets(); if (mCurrentTargets != null) { Arrays.sort(mCurrentTargets); ArrayList<ProgramReceiveTarget> targets = mReceiveTargetTable.get(plugin); if (targets == null || !pluginItem.isSelected()) { targets = new ArrayList<ProgramReceiveTarget>(); } if (pluginItem.isSelected() && targets.isEmpty()) { targets.add(mCurrentTargets[0]); } mReceiveTargetTable.put(plugin, targets); final SelectableItemList targetList = new SelectableItemList(targets.toArray(), mCurrentTargets, disabledReceiveTargets); targetPanel.add(targetList, BorderLayout.CENTER); targetList.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent listEvent) { if (!listEvent.getValueIsAdjusting()) { SelectableItem currPluginItem = (SelectableItem) mPluginItemList .getSelectedValue(); ProgramReceiveIf currPlugin = (ProgramReceiveIf) currPluginItem .getItem(); Object[] sel = targetList.getSelection(); ArrayList<ProgramReceiveTarget> selTargets = new ArrayList<ProgramReceiveTarget>( sel.length); for (Object obj : sel) { selTargets.add((ProgramReceiveTarget) obj); } if (currPluginItem.isSelected() != (sel.length > 0)) { currPluginItem.setSelected(sel.length > 0); mPluginItemList.updateUI(); } mReceiveTargetTable.put(currPlugin, selTargets); } } }); } targetPanel.updateUI(); } } catch (Exception e1) { e1.printStackTrace(); } } }); splitPane.setRightComponent(targetPanel); contentPane.add(splitPane, cc.xy(1, pos)); } else { contentPane.add(mPluginItemList, cc.xy(1, pos)); } mPluginItemList.setSelectedIndex(0); pos += 2; if (description != null) { JLabel lb = new JLabel(description); layout.appendRow(RowSpec.decode("pref")); layout.appendRow(RowSpec.decode("3dlu")); contentPane.add(lb, cc.xy(1, pos)); pos += 2; } JButton okBt = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); JButton cancelBt = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); okBt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { mOkWasPressed = true; Object[] o = mPluginItemList.getSelection(); mResultPluginArr = new ProgramReceiveIf[o.length]; for (int i = 0; i < o.length; i++) { mResultPluginArr[i] = (ProgramReceiveIf) o[i]; } close(); } }); cancelBt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { mOkWasPressed = false; mResultPluginArr = null; close(); } }); ButtonBarBuilder2 builder = new ButtonBarBuilder2(); builder.addGlue(); builder.addButton(new JButton[] { okBt, cancelBt }); layout.appendRow(RowSpec.decode("pref")); contentPane.add(builder.getPanel(), cc.xy(1, pos)); Settings.layoutWindow("pluginChooserDlg", this, new Dimension(350, 300)); setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { close(); } }); }
From source file:widgetplugin.WidgetSettingsTab.java
License:Open Source License
public JPanel createSettingsPanel() { int currentRow = 1; final FormLayout layout = new FormLayout("5dlu, pref, 3dlu, pref, fill:default:grow", ""); final PanelBuilder panelBuilder = new PanelBuilder(layout); final CellConstraints cc = new CellConstraints(); // settings/*from ww w. j a va2 s . com*/ layout.appendRow(RowSpec.decode("pref")); layout.appendRow(RowSpec.decode("5dlu")); layout.appendRow(RowSpec.decode("pref")); layout.appendRow(RowSpec.decode("5dlu")); // port final JLabel label = new JLabel(mLocalizer.msg("portNumber", "Port number")); panelBuilder.add(label, cc.xy(2, currentRow)); final SpinnerNumberModel model = new SpinnerNumberModel(34567, 1, 65535, 1); mSpinner = new JSpinner(model); mSpinner.setValue(mSettings.getPortNumber()); panelBuilder.add(mSpinner, cc.xy(4, currentRow)); // refresh mRefresh = new JCheckBox(mLocalizer.msg("refresh", "Automatic refresh")); mRefresh.setSelected(mSettings.getRefresh()); panelBuilder.add(mRefresh, cc.xyw(2, (currentRow += 2), 4)); /* * // layout settings layout.appendRow(RowSpec.decode("pref")); * layout.appendRow(RowSpec.decode("2dlu")); * layout.appendRow(RowSpec.decode("fill:default:grow")); * * // layout panelBuilder.addSeparator(mLocalizer.msg("layout", "Layout"), * cc.xyw(1, (currentRow += 2), 5)); */ return panelBuilder.getPanel(); }
From source file:xmet.tools.metadata.editor.views.custom.Panel.java
License:Open Source License
/** * Removes the repeated panel.// ww w. j a v a2 s .c o m * @param panel the panel */ private void removeRepeatedPanel(final Panel panel) { panels.remove(panel); /* remove everything and reconstruct the panel */ removeAll(); /* create and set default layout */ final FormLayout layout = new FormLayout("$ugap,f:d,$rgap,f:d,$rgap,f:p:grow,$ugap", "$ugap,f:d,$rgap"); setLayout(layout); /* add the Add button */ final JButton btnAdd = new JButton("Add"); btnAdd.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent arg0) { addRepeatedPanel(); } }); this.add(btnAdd, CC.xywh(2, 2, 1, 1)); /* add all repeated panels one by one */ for (final Panel rPanel : panels) { layout.appendRow(RowSpec.decode("$rgap")); layout.appendRow(RowSpec.decode("f:d")); this.add(rPanel, CC.xywh(2, layout.getRowCount(), layout.getColumnCount() - 2, 1)); layout.appendRow(RowSpec.decode("$rgap")); layout.appendRow(RowSpec.decode("f:d")); final JButton btnRemove = new JButton("Remove"); btnRemove.addActionListener(new RemovePanelAction(rPanel)); this.add(btnRemove, CC.xywh(2, layout.getRowCount(), 1, 1)); } revalidate(); this.repaint(); }