private JPanel createParametersPanel() { JPanel parametersPanel = new JPanel(); parametersPanel.setBorder(BorderFactory.createTitledBorder(dataLayer.getString("PARAMETERS"))); GridLayout parametersPanelLayout = new GridLayout(0, 3); parametersPanelLayout.setHgap(10); parametersPanelLayout.setVgap(5); parametersPanel.setLayout(parametersPanelLayout); // // -- DELAY ------------------------------------------------------------ JLabel delayName = new JLabel(dataLayer.getString("DELAY") + ":"); delayName.setFont(fontBold); parametersPanel.add(delayName); // create formatter RegexFormatter delayFormatter = new RegexFormatter(Validator.DELAY_PATTERN); delayFormatter.setAllowsInvalid(true); // allow to enter invalid value for short time delayFormatter.setCommitsOnValidEdit(true); // value is immedeatly published to textField delayFormatter.setOverwriteMode(false); // do not overwrite charracters jTextFieldDelay = new JFormattedTextField(delayFormatter); jTextFieldDelay.setText("" + cable.getDelay()); jTextFieldDelay.setToolTipText(dataLayer.getString("REQUIRED_FORMAT_IS") + " 1-99"); // add decorator that paints wrong input icon parametersPanel.add(new JLayer<JFormattedTextField>(jTextFieldDelay, layerUI)); JLabel delayTip = new JLabel("1-99"); parametersPanel.add(delayTip); // -- ------------------------------------------------------------ return parametersPanel; }
@Override protected boolean hasChangesMade() { if (this.delay != cable.getDelay()) { return true; } return false; }
@Override protected void copyValuesFromGlobalToLocal() { // save delay this.delay = cable.getDelay(); }