List of usage examples for com.jgoodies.forms.layout CellConstraints xy
public CellConstraints xy(int col, int row)
Examples:
cc.xy(1, 1); cc.xy(1, 3);
From source file:captureplugin.drivers.defaultdriver.configpanels.ParameterPanel.java
License:Open Source License
/** * creates a JPanel for getting the parameters *//*from www.j a v a 2 s . c om*/ private void createPanel() { try { CellConstraints cc = new CellConstraints(); EnhancedPanelBuilder pb = new EnhancedPanelBuilder("5dlu,pref,5dlu,pref:grow,pref,5dlu", this); pb.setDefaultDialogBorder(); pb.addParagraph(mLocalizer.msg("parametersRecord", "Parameters for recording")); pb.addGrowingRow(); mAddFormatTextField = new ParamInputField(new CaptureParamLibrary(mData), mData.getParameterFormatAdd(), false); mAddFormatTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { addFormatChanged(); } }); pb.add(mAddFormatTextField, cc.xyw(2, pb.getRow(), pb.getColumnCount() - 1)); pb.addParagraph(mLocalizer.msg("parametersDelete", "Parameters for deletion")); pb.addGrowingRow(); mRemFormatTextField = new ParamInputField(new CaptureParamLibrary(mData), mData.getParameterFormatRem(), false); mRemFormatTextField.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { remFormatChanged(); } }); pb.add(mRemFormatTextField, cc.xyw(2, pb.getRow(), pb.getColumnCount() - 1)); pb.addParagraph(mLocalizer.msg("parametersAdditional", "Additional commands")); pb.addRow(); JButton additional = new JButton(mLocalizer.msg("Additional", "Define additional commands")); additional.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { AdditionalParams params = new AdditionalParams(mKonfigurator, mData); UiUtilities.centerAndShow(params); } }); pb.add(additional, cc.xy(pb.getColumnCount() - 1, pb.getRow())); } catch (Exception e) { e.printStackTrace(); } }
From source file:captureplugin.drivers.defaultdriver.configpanels.SettingsPanel.java
License:Open Source License
/** * creates a JPanel for getting the time offsets *//*from w ww. jav a 2 s .c o m*/ private void createPanel() { CellConstraints cc = new CellConstraints(); PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,12dlu,pref:grow,5dlu,pref:grow,5dlu", "pref,5dlu,pref,1dlu,pref,10dlu,pref,5dlu,pref,1dlu," + "pref,10dlu,pref,5dlu,pref,1dlu,pref,7dlu,pref,pref," + "pref,pref,pref,7dlu,pref,pref,10dlu,pref"), this); pb.setDefaultDialogBorder(); mPreTimeSpinner = new JSpinner(new SpinnerNumberModel(mData.getPreTime(), 0, null, 1)); mPostTimeTextField = new JSpinner(new SpinnerNumberModel(mData.getPostTime(), 0, null, 1)); mUserName.setText(mData.getUsername()); mUserPwd.setText(mData.getPassword()); mMaxSimult = new JSpinner(new SpinnerNumberModel(mData.getMaxSimultanious(), 1, null, 1)); mMaxTimeout = new JSpinner(new SpinnerNumberModel(mData.getTimeout(), -1, 999, 1)); mCheckReturn = new JCheckBox(mLocalizer.msg("CheckError", "Check if returns Error"), mData.useReturnValue()); mShowOnError = new JCheckBox(mLocalizer.msg("ShowResultOnError", "Show Result-Dialog only on Error"), mData.getDialogOnlyOnError()); mShowTitleAndTimeDialog = new JCheckBox( mLocalizer.msg("showTitleAndTime", "Show title and time settings dialog"), mData.getShowTitleAndTimeDialog()); mDeleteRemovedPrograms = new JCheckBox( mLocalizer.msg("autoDeletePrograms", "Automatically delete programs that were removed during a data update"), mData.getDeleteRemovedPrograms()); mOldPrograms = new JCheckBox(mLocalizer.msg("OnlyFuture", "Only allow Programs that are in the future"), mData.getOnlyFuturePrograms()); mUseTime = new JCheckBox(mLocalizer.msg("useSystemTimezone", "Use timezone provided by OS"), !mData.useTimeZone()); String[] zoneIds = new String[0]; try { zoneIds = TimeZone.getAvailableIDs(); } catch (Exception e) { e.printStackTrace(); } mTimeZones = new JComboBox(zoneIds); mTimeZones.setEnabled(mData.useTimeZone() && mTimeZones.getItemCount() > 0); for (int i = 0; i < zoneIds.length; i++) { if (zoneIds[i].equals(mData.getTimeZone().getID())) { mTimeZones.setSelectedIndex(i); break; } } pb.addSeparator(mLocalizer.msg("TimeSettings", "Timesettings"), cc.xyw(1, 1, 6)); pb.addLabel(mLocalizer.msg("Earlier", "Number of minutes to start erlier"), cc.xyw(2, 3, 2)); pb.add(mPreTimeSpinner, cc.xy(5, 3)); pb.addLabel(mLocalizer.msg("Later", "Number of minutes to stop later"), cc.xyw(2, 5, 2)); pb.add(mPostTimeTextField, cc.xy(5, 5)); pb.addSeparator(mLocalizer.msg("User", "User"), cc.xyw(1, 7, 6)); pb.addLabel(mLocalizer.msg("Username", "Username") + ":", cc.xyw(2, 9, 2)); pb.add(mUserName, cc.xy(5, 9)); pb.addLabel(mLocalizer.msg("Password", "Password") + ":", cc.xyw(2, 11, 2)); pb.add(mUserPwd, cc.xy(5, 11)); pb.addSeparator(mLocalizer.msg("Additional", "Additional"), cc.xyw(1, 13, 6)); pb.addLabel(mLocalizer.msg("MaxSimult", "Maximum simultaneous recordings") + ":", cc.xyw(2, 15, 2)); pb.add(mMaxSimult, cc.xy(5, 15)); pb.addLabel(mLocalizer.msg("Timeout", "Wait sec. until Timeout (-1 = disabled)") + ":", cc.xyw(2, 17, 2)); pb.add(mMaxTimeout, cc.xy(5, 17)); pb.add(mCheckReturn, cc.xyw(2, 19, 4)); pb.add(mShowOnError, cc.xyw(2, 20, 4)); pb.add(mShowTitleAndTimeDialog, cc.xyw(2, 21, 4)); pb.add(mDeleteRemovedPrograms, cc.xyw(2, 22, 4)); pb.add(mOldPrograms, cc.xyw(2, 23, 4)); pb.add(mUseTime, cc.xyw(2, 25, 4)); JPanel timeZonePanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0)); mTimeZoneLabel = new JLabel(mLocalizer.msg("Timezone", "Timezone") + ": "); mTimeZoneLabel.setEnabled(mTimeZones.isEnabled()); timeZonePanel.add(mTimeZoneLabel); timeZonePanel.add(mTimeZones); pb.add(timeZonePanel, cc.xyw(3, 26, 3)); mProgramReceiveTargetSelection = new ProgramReceiveTargetSelectionPanel( UiUtilities.getLastModalChildOf(CapturePlugin.getInstance().getSuperFrame()), mData.getProgramReceiveTargets(), null, CapturePlugin.getInstance(), true, mLocalizer.msg("sendToTitle", "Send scheduled programs to:")); mProgramReceiveTargetSelection.addChangeListener(this); pb.add(mProgramReceiveTargetSelection, cc.xyw(1, 28, 5)); // add ChangeListener to the spinners mPreTimeSpinner.addChangeListener(this); mPostTimeTextField.addChangeListener(this); mMaxSimult.addChangeListener(this); mMaxTimeout.addChangeListener(this); // add ActionListener to the check boxes mCheckReturn.addActionListener(this); mShowOnError.addActionListener(this); mShowTitleAndTimeDialog.addActionListener(this); mDeleteRemovedPrograms.addActionListener(this); mOldPrograms.addActionListener(this); mUseTime.addActionListener(this); mUserName.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { mData.setUserName(mUserName.getText()); } }); mUserPwd.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { mData.setPassword(new String(mUserPwd.getPassword())); } }); mTimeZones.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { mData.setTimeZone(TimeZone.getTimeZone((String) mTimeZones.getSelectedItem())); } }); }
From source file:captureplugin.drivers.defaultdriver.configpanels.VariablePanel.java
License:Open Source License
/** * creates a JPanel for managing the variables *//*from w w w . j av a2 s . co m*/ private void createPanel() { CellConstraints cc = new CellConstraints(); PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,pref:grow,5dlu", "pref,5dlu,fill:default:grow"), this); pb.setDefaultDialogBorder(); DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JPanel background = new JPanel(new FormLayout("default:grow", "fill:default:grow")); JLabel label = new JLabel(value.toString()); label.setOpaque(false); if (isSelected) { background.setBackground(table.getSelectionBackground()); label.setForeground(table.getSelectionForeground()); } else { background.setBackground(table.getBackground()); } background.add(label, new CellConstraints().xy(1, 1)); return background; } }; VariableTableModel variableTableModel = new VariableTableModel(mData); mVariableTable.setModel(variableTableModel); mVariableTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); mVariableTable.getTableHeader().setReorderingAllowed(false); mVariableTable.getColumnModel().getColumn(0).setPreferredWidth(40); mVariableTable.getColumnModel().getColumn(0).setCellRenderer(renderer); mVariableTable.getColumnModel().getColumn(1).setCellRenderer(renderer); mVariableTable.getColumnModel().getColumn(2).setCellRenderer(renderer); JScrollPane sp = new JScrollPane(mVariableTable); addAncestorListener(new AncestorListener() { public void ancestorAdded(AncestorEvent event) { } public void ancestorMoved(AncestorEvent event) { } public void ancestorRemoved(AncestorEvent event) { if (mVariableTable.isEditing()) { TableCellEditor editor = mVariableTable.getCellEditor(); if (editor != null) { editor.stopCellEditing(); } } } }); pb.addSeparator(mLocalizer.msg("Variables", "Variables"), cc.xyw(1, 1, 3)); pb.add(sp, cc.xy(2, 3)); }
From source file:captureplugin.drivers.dreambox.DreamboxConfigDialog.java
License:Open Source License
/** * Create the GUI//from ww w . j av a2 s . c om */ 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 ww w .j a v 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 w w w . j ava2s .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 a va 2s. com*/ 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;// w w w .j a v a2 s. c om 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.RouteGroupConfigPanel.java
License:Open Source License
private void buildPanel() { initComponents();/*from w ww . ja v a 2s. co m*/ final FormLayout layout = new FormLayout("right:pref, 3dlu, pref:grow", "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu"); final PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); final CellConstraints cc = new CellConstraints(); builder.addLabel("Name", cc.xy(1, 1)); builder.add(routeGroupName, cc.xy(3, 1)); add(builder.getPanel()); }
From source file:ch.fork.AdHocRailway.ui.routes.configuration.RoutesConfigurationDialog.java
License:Open Source License
private void buildPanel() { initComponents();/*ww w .ja v a 2 s.co m*/ 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()); }