List of usage examples for com.jgoodies.forms.layout CellConstraints xyw
public CellConstraints xyw(int col, int row, int colSpan)
Examples:
cc.xyw(1, 3, 7); cc.xyw(1, 3, 2);
From source file:captureplugin.drivers.dreambox.DreamboxConfigDialog.java
License:Open Source License
/** * Create the GUI//from w w w.j av a 2 s .co m */ private void createGui() { setTitle(mLocalizer.msg("title", "Configure Dreambox")); UiUtilities.registerForClosing(this); EnhancedPanelBuilder basicPanel = new EnhancedPanelBuilder( "2dlu, pref, 3dlu, fill:min:grow, 3dlu, pref, 3dlu, pref"); basicPanel.setBorder(Borders.DLU4_BORDER); CellConstraints cc = new CellConstraints(); basicPanel.addParagraph(mLocalizer.msg("misc", "Miscellaneous")); basicPanel.addRow(); basicPanel.add(new JLabel(mLocalizer.msg("name", "Name:")), cc.xy(2, basicPanel.getRow())); mDeviceName = new JTextField(mDevice.getName()); basicPanel.add(mDeviceName, cc.xy(4, basicPanel.getRow())); basicPanel.addRow(); basicPanel.add(new JLabel(mLocalizer.msg("softwareVersion", "SoftwareVersion:")), cc.xy(2, basicPanel.getRow())); String[] values = { mLocalizer.msg("lowerVersion", "lower than 1.6 (< 1.6)"), mLocalizer.msg("higherVersion", "at least 1.6 (>= 1.6)") }; mSoftwareSelection = new JComboBox(values); mSoftwareSelection.setSelectedIndex(mConfig.getIsVersionAtLeast_1_6() ? 1 : 0); basicPanel.add(mSoftwareSelection, cc.xy(4, basicPanel.getRow())); basicPanel.addRow(); basicPanel.add(new JLabel(mLocalizer.msg("ipaddress", "IP address")), cc.xy(2, basicPanel.getRow())); mDreamboxAddress = new JTextField(mConfig.getDreamboxAddress()); basicPanel.add(mDreamboxAddress, cc.xy(4, basicPanel.getRow())); JButton help = new JButton(CapturePlugin.getInstance().createImageIcon("apps", "help-browser", 16)); help.setToolTipText(Localizer.getLocalization(Localizer.I18N_HELP)); help.setOpaque(false); help.setBorder(Borders.EMPTY_BORDER); basicPanel.add(help, cc.xy(8, basicPanel.getRow())); ButtonBarBuilder2 refresh = new ButtonBarBuilder2(); refresh.addGlue(); mRefreshButton = new JButton(mLocalizer.msg("refresh", "Refresh channellist")); mRefreshButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { refreshChannelList(); } }); mRefreshButton.setIcon(TVBrowserIcons.refresh(TVBrowserIcons.SIZE_SMALL)); mRefreshButton.setEnabled(mConfig.hasValidAddress()); mDreamboxAddress.getDocument().addDocumentListener(new DocumentListener() { @Override public void removeUpdate(DocumentEvent e) { check(e); } @Override public void insertUpdate(DocumentEvent e) { check(e); } @Override public void changedUpdate(DocumentEvent e) { check(e); } private void check(DocumentEvent e) { mRefreshButton.setEnabled(!mDreamboxAddress.getText().trim().isEmpty()); } }); refresh.addButton(new JButton[] { mRefreshButton }); basicPanel.addRow(); basicPanel.add(refresh.getPanel(), cc.xy(4, basicPanel.getRow())); basicPanel.addRow(); basicPanel.add(new JLabel(mLocalizer.msg("preTime", "Time before in minutes:")), cc.xy(2, basicPanel.getRow())); mBeforeModel = new SpinnerNumberModel(mConfig.getPreTime(), 0, 60, 1); JSpinner beforeSpinner = new JSpinner(mBeforeModel); basicPanel.add(beforeSpinner, cc.xy(4, basicPanel.getRow())); basicPanel.addRow(); basicPanel.add(new JLabel(mLocalizer.msg("afterTime", "Time after in minutes:")), cc.xy(2, basicPanel.getRow())); mAfterModel = new SpinnerNumberModel(mConfig.getAfterTime(), 0, 60, 1); JSpinner afterSpinner = new JSpinner(mAfterModel); basicPanel.add(afterSpinner, cc.xy(4, basicPanel.getRow())); basicPanel.addParagraph(mLocalizer.msg("channel", "Channel assignment")); mTable = new JTable(new ConfigTableModel(mConfig, mLocalizer.msg("dreambox", "Dreambox Channel"))); mTable.getTableHeader().setReorderingAllowed(false); mTable.getColumnModel().getColumn(0).setCellRenderer(new util.ui.ChannelTableCellRenderer()); mTable.getColumnModel().getColumn(1).setCellRenderer(new ExternalChannelTableCellRenderer()); mTable.getColumnModel().getColumn(1).setCellEditor(new ExternalChannelTableCellEditor(mConfig)); basicPanel.addGrowingRow(); basicPanel.add(new JScrollPane(mTable), cc.xyw(2, basicPanel.getRow(), basicPanel.getColumnCount() - 1)); ButtonBarBuilder2 builder = new ButtonBarBuilder2(); builder.addGlue(); JButton attach = new JButton(mLocalizer.msg("attach", "Attach")); attach.setToolTipText(mLocalizer.msg("attachHelp", "Attach channels")); attach.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { attachChannels(); } }); builder.addButton(attach); basicPanel.addRow(); basicPanel.add(builder.getPanel(), cc.xyw(2, basicPanel.getRow(), basicPanel.getColumnCount() - 1)); final EnhancedPanelBuilder extendedPanel = new EnhancedPanelBuilder( "2dlu, pref, 3dlu, fill:pref:grow, 3dlu, pref, 5dlu"); extendedPanel.setBorder(Borders.DLU4_BORDER); extendedPanel.addParagraph(mLocalizer.msg("misc", "Miscellanious")); extendedPanel.addRow(); extendedPanel.add(new JLabel(mLocalizer.msg("Timeout", "Timeout for connections in ms:")), cc.xy(2, extendedPanel.getRow())); mTimeoutModel = new SpinnerNumberModel(mConfig.getTimeout(), 0, 100000, 10); JSpinner timeoutSpinner = new JSpinner(mTimeoutModel); extendedPanel.add(timeoutSpinner, cc.xyw(4, extendedPanel.getRow(), 3)); extendedPanel.addParagraph(mLocalizer.msg("timeZoneSeparator", "Time zone")); extendedPanel.addRow(); extendedPanel.add(new JLabel(mLocalizer.msg("timeZone", "Time zone:")), cc.xy(2, extendedPanel.getRow())); String[] zoneIds = new String[0]; try { zoneIds = TimeZone.getAvailableIDs(); } catch (Exception e) { e.printStackTrace(); } Arrays.sort(zoneIds); mTimezone = new JComboBox(zoneIds); String zone = mConfig.getTimeZoneAsString(); for (int i = 0; i < zoneIds.length; i++) { if (zoneIds[i].equals(zone)) { mTimezone.setSelectedIndex(i); break; } } extendedPanel.add(mTimezone, cc.xyw(4, extendedPanel.getRow(), 3)); extendedPanel.addParagraph(mLocalizer.msg("security", "Security")); extendedPanel.addRow(); extendedPanel.add(new JLabel(mLocalizer.msg("userName", "User name :")), cc.xy(2, extendedPanel.getRow())); mUserName = new JTextField(mConfig.getUserName()); extendedPanel.add(mUserName, cc.xyw(4, extendedPanel.getRow(), 3)); extendedPanel.addRow(); extendedPanel.add(new JLabel(mLocalizer.msg("password", "Password :")), cc.xy(2, extendedPanel.getRow())); mPasswordField = new JPasswordField(mConfig.getPassword()); extendedPanel.add(mPasswordField, cc.xyw(4, extendedPanel.getRow(), 3)); extendedPanel.addParagraph(mLocalizer.msg("streaming", "Streaming")); extendedPanel.addRow(); extendedPanel.add(new JLabel(mLocalizer.msg("mediaplayer", "Mediaplayer :")), cc.xy(2, extendedPanel.getRow())); mMediaplayer = new JTextField(mConfig.getMediaplayer()); extendedPanel.add(mMediaplayer, cc.xy(4, extendedPanel.getRow())); JButton select = new JButton(Localizer.getLocalization(Localizer.I18N_SELECT)); select.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser mediaplayerChooser = new JFileChooser(); int returnVal = mediaplayerChooser.showOpenDialog(extendedPanel.getPanel()); if (returnVal == JFileChooser.APPROVE_OPTION) { mMediaplayer.setText(mediaplayerChooser.getSelectedFile().getAbsolutePath()); } } }); extendedPanel.add(select, cc.xy(6, extendedPanel.getRow())); mProgramReceiveTargetSelection = new ProgramReceiveTargetSelectionPanel( UiUtilities.getLastModalChildOf(CapturePlugin.getInstance().getSuperFrame()), mConfig.getProgramReceiveTargets(), null, CapturePlugin.getInstance(), true, mLocalizer.msg("sendToTitle", "Send scheduled programs to:")); extendedPanel.addRow(); extendedPanel.addRow(); extendedPanel.add(mProgramReceiveTargetSelection, cc.xyw(1, extendedPanel.getRow(), 7)); builder = new ButtonBarBuilder2(); JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { okPressed(); } }); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { close(); } }); builder.addGlue(); builder.addButton(new JButton[] { ok, cancel }); getRootPane().setDefaultButton(ok); JTabbedPane tabs = new JTabbedPane(); tabs.add(mLocalizer.msg("basicTitle", "Basic settings"), basicPanel.getPanel()); tabs.add(mLocalizer.msg("extendedTitle", "Extended settings"), extendedPanel.getPanel()); JPanel content = (JPanel) getContentPane(); content.setBorder(Borders.DLU4_BORDER); content.setLayout(new FormLayout("fill:pref:grow", "fill:pref:grow, 3dlu, pref")); content.add(tabs, cc.xy(1, 1)); content.add(builder.getPanel(), cc.xy(1, 3)); pack(); }
From source file:captureplugin.drivers.simpledevice.SimpleConfigDialog.java
License:Open Source License
/** * Create the Gui/*from w ww .j av a 2 s. co m*/ */ private void createGui() { JPanel panel = (JPanel) getContentPane(); setTitle(mLocalizer.msg("title", "Device Settings")); panel.setLayout(new FormLayout("3dlu, pref, 3dlu, fill:pref:grow, 3dlu, pref, 3dlu", "pref, 5dlu, pref, 3dlu, pref, 5dlu, fill:min:grow, 3dlu, pref, 3dlu, pref")); panel.setBorder(Borders.DIALOG_BORDER); CellConstraints cc = new CellConstraints(); panel.add( DefaultComponentFactory.getInstance().createSeparator(mLocalizer.msg("deviceName", "Device name")), cc.xyw(1, 1, 7)); panel.add(new JLabel(mLocalizer.msg("deviceNameInput", "Name") + ":"), cc.xy(2, 3)); mName = new JTextField(mDevice.getName()); panel.add(mName, cc.xyw(4, 3, 3)); panel.add(DefaultComponentFactory.getInstance() .createSeparator(mLocalizer.msg("channelAssignment", "Channel assignment")), cc.xyw(1, 5, 7)); mTable = new JTable(new ConfigTableModel(mConfig, mLocalizer.msg("external", "external"))); mTable.getTableHeader().setReorderingAllowed(false); mTable.getColumnModel().getColumn(0).setCellRenderer(new ChannelTableCellRenderer()); mTable.getColumnModel().getColumn(1).setCellRenderer(new ExternalChannelTableCellRenderer()); mTable.getColumnModel().getColumn(1).setCellEditor(new ExternalChannelTableCellEditor(mConfig)); panel.add(new JScrollPane(mTable), cc.xyw(2, 7, 5)); JButton fetch = new JButton(mLocalizer.msg("fetchChannels", "Fetch Channellist")); fetch.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { SwingUtilities.invokeLater(new Runnable() { public void run() { SimpleChannel[] lists = mConnection.getAvailableChannels(); if (lists == null) { JOptionPane.showMessageDialog(SimpleConfigDialog.this, mLocalizer.msg("errorChannels", "Could not load external channels"), mLocalizer.msg("errorTitle", "Error"), JOptionPane.ERROR_MESSAGE); } else { mConfig.setExternalChannels(lists); } mTable.repaint(); } }); } }); panel.add(fetch, cc.xy(6, 9)); ButtonBarBuilder2 builder = new ButtonBarBuilder2(); builder.addGlue(); JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { if (mTable.isEditing()) { TableCellEditor editor = mTable.getCellEditor(); if (editor != null) { editor.stopCellEditing(); } } mReturn = JOptionPane.OK_OPTION; setVisible(false); } }); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { setVisible(false); } }); builder.addButton(new JButton[] { ok, cancel }); panel.add(builder.getPanel(), cc.xyw(1, 11, 7)); getRootPane().setDefaultButton(ok); UiUtilities.registerForClosing(this); setSize(Sizes.dialogUnitXAsPixel(250, this), Sizes.dialogUnitXAsPixel(200, this)); }
From source file:captureplugin.drivers.utils.ProgramTimeDialog.java
License:Open Source License
/** * Create the GUI//from ww w . j a v a 2 s . c o m * @param titleEditable is the Title editable ? */ private void createGui(final boolean titleEditable, final String additionalText, final JComponent additionalComponent) { /* calculate the post time for selection with program selection panel */ Calendar programEnd = mPrgTime.getProgram().getDate().getCalendar(); programEnd.set(Calendar.HOUR_OF_DAY, mPrgTime.getProgram().getHours()); programEnd.set(Calendar.MINUTE, mPrgTime.getProgram().getMinutes()); if (mPrgTime.getProgram().getLength() <= 0) { programEnd.add(Calendar.MINUTE, 1); } else { programEnd.add(Calendar.MINUTE, mPrgTime.getProgram().getLength()); } programEnd.set(Calendar.SECOND, 0); final int postTime = (int) ((mPrgTime.getEndAsCalendar().getTimeInMillis() - programEnd.getTimeInMillis() + 1000) / 60000); setTitle(mLocalizer.msg("SetTime", "Set Time")); JPanel content = (JPanel) getContentPane(); content.setBorder(Borders.DIALOG_BORDER); content.setLayout(new BorderLayout()); EnhancedPanelBuilder panel = new EnhancedPanelBuilder("2dlu,default,5dlu,default:grow"); CellConstraints cc = new CellConstraints(); if (titleEditable) { panel.addParagraph(mLocalizer.msg("Title", "Title")); mTitle = new JTextField(mPrgTime.getTitle()); panel.addRow(); panel.add(mTitle, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1)); } panel.addParagraph(mLocalizer.msg("Times", "Times")); panel.addRow(); panel.add(new JLabel(mLocalizer.msg("StartTime", "Start time")), cc.xy(2, panel.getRow())); mStart = new TimeDateSpinner(mPrgTime.getStart()); panel.add(mStart, cc.xy(4, panel.getRow())); panel.addRow(); panel.add(new JLabel(mLocalizer.msg("EndTime", "End time")), cc.xy(2, panel.getRow())); mEnd = new TimeDateSpinner(mPrgTime.getEnd()); panel.add(mEnd, cc.xy(4, panel.getRow())); if (mPrgTime.getProgram().getLength() <= 0) { mEnd.setSpinnerBackground(new Color(255, 153, 153)); } if (additionalText != null) { panel.addParagraph(additionalText); panel.addRow(); panel.add(additionalComponent, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1)); } final ProgramRangeSelectionPanel programSelection = ProgramRangeSelectionPanel .createPanel(mPrgTime.getProgram(), (short) 6); panel.addParagraph(mLocalizer.msg("programSelection", "Program selection")); panel.addRow(); panel.add(programSelection, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1)); programSelection.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { /* prevent concurrent changing of end date */ if (!mEndDateChanging) { mProgramSelectionChanging = true; Program[] progs = ((ProgramList) e.getSource()).getSelectedPrograms(); if (progs != null) { Program prog = progs[progs.length - 1]; Calendar c = Calendar.getInstance(); c.setTimeInMillis(prog.getDate().getCalendar().getTimeInMillis()); c.set(Calendar.HOUR_OF_DAY, prog.getHours()); c.set(Calendar.MINUTE, prog.getMinutes()); if (prog.getLength() <= 0) { c.add(Calendar.MINUTE, 1); } else { c.add(Calendar.MINUTE, prog.getLength()); } c.set(Calendar.SECOND, 0); c.add(Calendar.MINUTE, postTime); mEnd.setValue(c.getTime()); mProgramSelectionChanging = false; } } } } }); mEnd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { try { /* prevent concurrent changing of end date */ if (!mProgramSelectionChanging) { mEndDateChanging = true; programSelection.setEndDate(mEnd.getDate()); mEndDateChanging = false; } } catch (Throwable t) { t.printStackTrace(); } } }); content.add(panel.getPanel(), BorderLayout.CENTER); ButtonBarBuilder2 btPanel = new ButtonBarBuilder2(); btPanel.setBorder(Borders.DLU4_BORDER); JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { mPrgTime.setStart(mStart.getDate()); mPrgTime.setEnd(mEnd.getDate()); if (titleEditable) { mPrgTime.setTitle(mTitle.getText()); } setVisible(false); } }); btPanel.addGlue(); JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { mPrgTime = null; setVisible(false); } }); btPanel.addButton(ok, cancel); getRootPane().setDefaultButton(ok); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { mPrgTime = null; } }); content.add(btPanel.getPanel(), BorderLayout.SOUTH); CapturePlugin.getInstance().layoutWindow("programTimeDialog", this, new Dimension(300, 270)); }
From source file:ch.fork.AdHocRailway.ui.locomotives.configuration.LocomotiveConfig.java
License:Open Source License
private void buildPanel() { initComponents();/* ww w. j av a 2 s .c o m*/ final FormLayout layout = new FormLayout("right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow", "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow"); layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } }); layout.setRowGroups(new int[][] { { 3, 5, 7, 9 } }); final PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); final CellConstraints cc = new CellConstraints(); builder.addSeparator("General", cc.xyw(1, 1, 3)); builder.addLabel("Name", cc.xy(1, 3)); builder.add(nameTextField, cc.xy(3, 3)); builder.addLabel("Description", cc.xy(1, 5)); builder.add(descTextField, cc.xy(3, 5)); builder.addLabel("Type", cc.xy(1, 7)); builder.add(locomotiveTypeComboBox, cc.xy(3, 7)); builder.addLabel("Image", cc.xy(1, 9)); builder.add(chooseImageButton, cc.xy(3, 9)); builder.add(imageLabel, cc.xyw(1, 11, 3)); builder.addSeparator("Interface", cc.xyw(5, 1, 3)); builder.addLabel("Bus", cc.xy(5, 3)); builder.add(busSpinner, cc.xy(7, 3)); builder.addLabel("Address 1", cc.xy(5, 5)); builder.add(address1Spinner, cc.xy(7, 5)); builder.addLabel("Address 2", cc.xy(5, 7)); builder.add(address2Spinner, cc.xy(7, 7)); builder.add(functionsTable, cc.xywh(5, 9, 3, 3)); builder.add(errorPanel, cc.xyw(1, 13, 3)); builder.add(buildButtonBar(), cc.xyw(5, 13, 3)); // add(builder.getPanel()); setLayout(new MigLayout()); add(new JLabel("Name")); add(nameTextField, "w 300!"); add(new JLabel("Bus"), "gap unrelated"); add(busSpinner, "w 150!, wrap"); add(new JLabel("Description")); add(descTextField, "w 300!"); add(new JLabel("Address 1"), "gap unrelated"); add(address1Spinner, "w 150!, wrap"); add(new JLabel("Type")); add(locomotiveTypeComboBox, "w 150!"); add(new JLabel("Address 2"), "gap unrelated"); add(address2Spinner, "w 150!, wrap"); add(new JLabel("Image")); add(chooseImageButton, "w 150!"); add(new JLabel("Functions"), "gap unrelated"); add(new JScrollPane(functionsTable), "h 200!, w 300!, span 1 2, wrap"); add(imageLabel, "align center, span 2, wrap"); add(buildButtonBar(), "span 4, align right"); }
From source file:ch.fork.AdHocRailway.ui.PreferencesDialog.java
License:Open Source License
private void initGUI() { final FormLayout layout = new FormLayout("5dlu, pref, 10dlu, pref, 5dlu", "5dlu, pref, 3dlu, top:pref,3dlu, pref, 3dlu, top:pref, 3dlu, pref, 5dlu"); layout.setColumnGroups(new int[][] { { 2, 4 } }); final PanelBuilder builder = new PanelBuilder(layout); final CellConstraints cc = new CellConstraints(); builder.addSeparator("General", cc.xy(2, 2)); builder.add(createGUISettingsTab(), cc.xy(2, 4)); builder.addSeparator("Digital", cc.xy(4, 2)); builder.add(createDigitalDataTab(), cc.xy(4, 4)); builder.addSeparator("SRCP-Server", cc.xy(2, 6)); builder.add(createSrcpServerTab(), cc.xy(2, 8)); builder.addSeparator("AdHoc-Server", cc.xy(4, 6)); builder.add(createAdHocServerTab(), cc.xy(4, 8)); final JButton okButton = new JButton("OK", ImageTools.createImageIconFromIconSet("dialog-ok-apply.png")); okButton.addActionListener(new ApplyChangesAction()); final JButton cancelButton = new JButton("Cancel", ImageTools.createImageIconFromIconSet("dialog-cancel.png")); cancelPressed = false;/* ww w . j av a2 s.co m*/ cancelButton.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { cancelPressed = true; PreferencesDialog.this.setVisible(false); } }); builder.add(ButtonBarFactory.buildRightAlignedBar(okButton, cancelButton), cc.xyw(2, 10, 3)); add(builder.getPanel()); loadPreferences(); pack(); SwingUtils.addEscapeListener(this); setLocationRelativeTo(getParent()); setVisible(true); }
From source file:ch.fork.AdHocRailway.ui.routes.configuration.RoutesConfigurationDialog.java
License:Open Source License
private void buildPanel() { initComponents();//from www. j a va2 s . c om initEventHandling(); final FormLayout layout = new FormLayout("pref, 5dlu, pref, 5dlu", "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref:grow, 3dlu, pref:grow, 3dlu, pref, 3dlu, pref"); builder = new PanelBuilder(layout); layout.setColumnGroups(new int[][] { { 1, 3 } }); builder.setDefaultDialogBorder(); final CellConstraints cc = new CellConstraints(); builder.addSeparator("Route Groups", cc.xyw(1, 1, 1)); builder.add(new JScrollPane(routeGroupList), cc.xy(1, 3)); builder.add(routeGroupConfig, cc.xy(1, 5)); builder.add(buildRouteGroupButtonBar(), cc.xy(1, 7)); builder.addSeparator("Routes", cc.xyw(3, 1, 1)); builder.add(new JScrollPane(routesList), cc.xywh(3, 3, 1, 3)); builder.add(buildRouteButtonBar(), cc.xy(3, 7)); builder.add(buildMainButtonBar(), cc.xyw(1, 9, 4)); add(builder.getPanel()); }
From source file:ch.fork.AdHocRailway.ui.turnouts.configuration.TurnoutConfig.java
License:Open Source License
private void buildPanel() { initComponents();//from w w w . java2 s . c om final FormLayout layout = new FormLayout( "right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow, 3dlu,pref:grow, 30dlu, pref", "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu, p:grow, 3dlu, p:grow, 10dlu,p:grow"); layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } }); layout.setRowGroups(new int[][] { { 3, 5, 7, 9, 11 } }); builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); final CellConstraints cc = new CellConstraints(); builder.addSeparator("General", cc.xyw(1, 1, 3)); builder.addLabel("Number", cc.xy(1, 3)); builder.add(numberTextField, cc.xy(3, 3)); builder.addLabel("Description", cc.xy(1, 5)); builder.add(descTextField, cc.xy(3, 5)); builder.addLabel("Type", cc.xy(1, 7)); builder.add(turnoutTypeComboBox, cc.xy(3, 7)); builder.addLabel("Default State", cc.xy(1, 9)); builder.add(turnoutDefaultStateComboBox, cc.xy(3, 9)); builder.addLabel("Orientation", cc.xy(1, 11)); builder.add(turnoutOrientationComboBox, cc.xy(3, 11)); builder.addSeparator("Interface", cc.xyw(5, 1, 5)); builder.addLabel("Bus 1", cc.xy(5, 3)); builder.add(bus1TextField, cc.xy(7, 3)); builder.addLabel("Address 1", cc.xy(5, 5)); builder.add(address1TextField, cc.xy(7, 5)); builder.addLabel("Bus 2", cc.xy(5, 7)); builder.add(bus2TextField, cc.xy(7, 7)); builder.addLabel("Address 2", cc.xy(5, 9)); builder.add(address2TextField, cc.xy(7, 9)); builder.add(switched1Checkbox, cc.xy(9, 5)); builder.add(switched2Checkbox, cc.xy(9, 9)); builder.addSeparator("Test", cc.xy(11, 1)); builder.add(testTurnoutWidget, cc.xywh(11, 3, 1, 9)); builder.add(errorPanel, cc.xyw(1, 13, 7)); builder.add(buildButtonBar(), cc.xyw(7, 13, 5)); add(builder.getPanel()); }
From source file:ch.thomasmueller.saltyfiles.ui.MainView.java
License:Open Source License
/** * Adds the components to the panel/*from w ww .ja va 2s .c o m*/ * @param layout to be used * @return a layouted panel */ private JPanel build(FormLayout layout) { buttonGroupEncOrDec.add(radioDecrypt); buttonGroupEncOrDec.add(radioEncrypt); buttonGroupEncOrDec.setSelected(radioEncrypt.getModel(), true); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); // Obtain a reusable constraints object to place components in the grid. CellConstraints cc = new CellConstraints(); // Fill the grid with components; the builder can create // frequently used components, e.g. separators and labels. // Add a titled separator to cell (1, 1) that spans 7 columns. builder.addSeparator("General", cc.xyw(1, 1, 9)); builder.addLabel("Mode", cc.xy(1, 3)); builder.add(radioEncrypt, cc.xy(3, 3)); builder.add(radioDecrypt, cc.xy(3, 5)); builder.addLabel("Password", cc.xy(5, 3)); builder.add(pwd, cc.xyw(7, 3, 3)); builder.addLabel("Repeat", cc.xy(5, 5)); builder.add(pwdRepeat, cc.xyw(7, 5, 3)); builder.addSeparator("Encrypt", cc.xyw(1, 7, 9)); builder.addLabel("Source Files", cc.xy(1, 9)); builder.add(textEncryptSource, cc.xyw(3, 9, 5)); builder.add(buttonChooseEncSF, cc.xy(9, 9)); builder.addLabel("Target Directory", cc.xy(1, 11)); builder.add(textEncryptTargetDir, cc.xyw(3, 11, 5)); builder.add(buttonChooseEncTD, cc.xy(9, 11)); builder.addLabel("Target Archive", cc.xy(1, 13)); builder.add(textEncryptTargetArchive, cc.xyw(3, 13, 5)); builder.addSeparator("Decrypt", cc.xyw(1, 15, 9)); builder.addLabel("Source Archive", cc.xy(1, 17)); builder.add(textDecryptSourceArchive, cc.xyw(3, 17, 5)); builder.add(buttonChooseDecSA, cc.xy(9, 17)); builder.addLabel("Target Directory", cc.xy(1, 19)); builder.add(textDecryptTargetDir, cc.xyw(3, 19, 5)); builder.add(buttonChooseDecTD, cc.xy(9, 19)); builder.addLabel("Algorithm", cc.xy(1, 23)); builder.add(chooseAlgorithm, cc.xy(3, 23)); builder.addSeparator("Transform Data", cc.xyw(1, 21, 9)); builder.add(buttonBar, cc.xyw(1, 23, 9)); // The builder holds the layout container that we now return. JPanel panel = builder.getPanel(); return panel; }
From source file:ch.zhaw.ias.dito.ui.InputPanel.java
License:BSD License
public InputPanel(HelpArea helpArea) { super(ScreenEnum.INPUT, null, ScreenEnum.QUESTION); FormLayout layout = new FormLayout( "max(30dlu; pref), 30dlu, 5dlu, max(150dlu; pref), 5dlu, max(100dlu; pref), 5dlu, max(50dlu; pref), fill:0:g", "pref, 2dlu, pref, 2dlu, pref, 10dlu, pref, 2dlu, 20dlu, 2dlu, fill:pref:grow, 2dlu, pref, 2dlu, pref, 2dlu, pref"); //layout.setRowGroups(new int[][]{{2, 4, 6}}); CellConstraints cc = new CellConstraints(); DefaultFormBuilder fb = new DefaultFormBuilder(layout, Translation.INSTANCE.getBundle()); browseButton = new JXButton(Translation.INSTANCE.get("s1.bu.browse")); filePath.setName(Translation.INSTANCE.get("s1.lb.file")); fb.addI15dSeparator("s1.title.file", cc.xyw(1, 1, 8)); fb.add(new HelpLabel(helpArea, "s1.lb.file"), cc.xyw(1, 3, 2)); fb.add(filePath, cc.xyw(4, 3, 3));//from w ww .j a va2 s.c o m fb.add(browseButton, cc.xy(8, 3)); fb.add(new HelpLabel(helpArea, "s1.lb.separator"), cc.xyw(1, 5, 2)); //fb.addI15dLabel("s1.lb.separator", cc.xyw(1, 5, 2)); fb.add(separator, cc.xy(8, 5)); fb.addI15dSeparator("s1.title.data", cc.xyw(1, 7, 8)); visualTable = new JXTable(tableModel); visualTable.setSortable(false); //visualTable.setHorizontalScrollEnabled(true); visualTable.getTableHeader().setReorderingAllowed(false); visualTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); visualTable.addHighlighter(new ColorHighlighter(new HighlightPredicate() { @Override public boolean isHighlighted(Component renderer, ComponentAdapter adapter) { return isColumnSelected(adapter.column) && isRowSelected(adapter.row); } }, Color.LIGHT_GRAY, Color.BLACK, Color.LIGHT_GRAY, Color.BLACK)); JScrollPane scrollPane = new JScrollPane(visualTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); rowSlider.setInverted(true); rowSlider.setOrientation(JSlider.VERTICAL); columnSlider.addChangeListener(this); rowSlider.addChangeListener(this); columnSlider.setMinimum(1); rowSlider.setMinimum(1); columnMinSpinner.addChangeListener(this); columnMaxSpinner.addChangeListener(this); rowMinSpinner.addChangeListener(this); rowMaxSpinner.addChangeListener(this); separator.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { updateTable(); } }); filePath.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { updateTable(); } }); JPanel columnSliderPanel = new JPanel(); columnSliderPanel.setLayout(new BorderLayout()); columnMinSpinner.setPreferredSize(new Dimension(50, (int) columnMinSpinner.getPreferredSize().getHeight())); columnMaxSpinner.setPreferredSize(new Dimension(50, (int) columnMaxSpinner.getPreferredSize().getHeight())); columnSliderPanel.add(columnMinSpinner, BorderLayout.WEST); columnSliderPanel.add(columnSlider, BorderLayout.CENTER); columnSliderPanel.add(columnMaxSpinner, BorderLayout.EAST); fb.add(columnSliderPanel, cc.xyw(4, 9, 6)); JPanel rowSliderPanel = new JPanel(); rowSliderPanel.setLayout(new BorderLayout()); rowSliderPanel.add(rowMinSpinner, BorderLayout.NORTH); rowSliderPanel.add(rowSlider, BorderLayout.CENTER); rowSliderPanel.add(rowMaxSpinner, BorderLayout.SOUTH); fb.add(rowSliderPanel, cc.xyw(2, 11, 1)); //set preferred size explicitly, otherwise the preferred height is too big and the screen doesn't scale its size in an appropriate way scrollPane.setPreferredSize(new Dimension(scrollPane.getWidth(), 100)); fb.add(scrollPane, cc.xyw(4, 11, 6)); fb.add(allSurveys, cc.xy(4, 13)); fb.add(allQuestions, cc.xy(4, 15)); fb.add(columnTitles, cc.xy(4, 17)); //validationGroup.add(filePath, Validators.FILE_MUST_BE_FILE, Validators.FILE_MUST_EXIST); //validationGroup.add(separator, Validators.REQUIRE_NON_EMPTY_STRING); Input i = Config.INSTANCE.getDitoConfig().getInput(); filePath.setText(i.getFilename()); separator.setText(Character.toString(i.getSeparator())); allQuestions.addChangeListener(this); allSurveys.addChangeListener(this); columnTitles.addChangeListener(this); allQuestions.setSelected(i.isAllQuestions()); allSurveys.setSelected(i.isAllSurveys()); columnTitles.setSelected(i.isQuestionTitles()); browseButton.addActionListener(this); this.setLayout(new BorderLayout()); this.add(fb.getPanel(), BorderLayout.CENTER); updateTable(); columnSlider.setValue(i.getStartQuestion()); columnSlider.setUpperValue(i.getEndQuestion()); rowSlider.setValue(i.getStartSurvey()); rowSlider.setUpperValue(i.getEndSurvey()); }
From source file:ch.zhaw.ias.dito.ui.MethodPanel.java
License:BSD License
public MethodPanel(HelpArea helpArea) { super(ScreenEnum.METHOD, ScreenEnum.QUESTION, ScreenEnum.ANALYSIS); comboModel = new MethodComboModel(DistanceMethodEnum.get(Coding.REAL)); methods = new JComboBox(comboModel); FormLayout layout = new FormLayout( "pref, 5dlu, max(100dlu; pref), 5dlu, max(100dlu; pref), 5dlu, max(100dlu; pref), pref:grow", "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, fill:pref:grow"); CellConstraints cc = new CellConstraints(); DefaultFormBuilder fb = new DefaultFormBuilder(layout, Translation.INSTANCE.getBundle()); fb.addI15dSeparator("s3.lb.method", cc.xyw(1, 1, 5)); fb.addI15dLabel("s3.lb.coding", cc.xyw(1, 3, 3)); fb.add(codingGroup, cc.xy(5, 3));/*from w ww .java 2s . c o m*/ codingGroup.addActionListener(this); fb.addI15dLabel("s3.lb.distance", cc.xyw(1, 5, 3)); fb.add(methods, cc.xy(5, 5)); methods.addActionListener(this); fb.addI15dLabel("s3.lb.parameter", cc.xyw(1, 7, 3)); fb.add(parameter, cc.xy(5, 7)); fb.add(formula, cc.xywh(7, 3, 1, 5)); fb.add(ownDefinition, cc.xyw(1, 9, 3)); createDefinition.setText("(a+d)/(a+b+c+d)"); fb.add(createDefinition, cc.xy(5, 9)); plotButton.addActionListener(this); fb.add(plotButton, cc.xy(5, 11)); fb.addI15dSeparator("s3.lb.calculation", cc.xyw(1, 13, 5)); fb.add(randomSample, cc.xyw(1, 15, 5)); fb.addI15dLabel("s3.lb.sampleSize", cc.xy(3, 17)); fb.add(sampleSize, cc.xy(5, 17)); fb.add(parallel, cc.xyw(1, 19, 5)); fb.addI15dLabel("s3.lb.numberOfThreads", cc.xy(3, 21)); fb.add(numberOfThreads, cc.xy(5, 21)); Method m = Config.INSTANCE.getDitoConfig().getMethod(); codingGroup.setSelectedValue(m.getMethod().getCoding()); methods.setSelectedItem(DistanceMethodEnum.get(m.getName())); randomSample.setSelected(m.isUseRandomSample()); randomSample.addActionListener(this); sampleSize.setText(Integer.toString(m.getSampleSize())); parallel.setSelected(m.isParallel()); parallel.addActionListener(this); numberOfThreads.setText(Integer.toString(m.getNumberOfThreads())); this.setLayout(new BorderLayout()); this.add(fb.getPanel(), BorderLayout.CENTER); //set distance matrix to null. this way it can be garbage collected //the distance matrix is probably quite large, and the calculations will need a lot of memory Config.INSTANCE.setDistanceMatrix(null); updateEnabling(); }