⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datagloveconfigpanel.java

📁 编辑视频文件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        // button        buttonPanel = new JPanel(new GridBagLayout());        buttonPanel.setBorder(new TitledBorder(""));        changeButton = new JButton();        changeButton.addActionListener(this);        gbc = new GridBagConstraints();        gbc.anchor = GridBagConstraints.CENTER;        gbc.insets = insets;        buttonPanel.add(changeButton, gbc);        gbc = new GridBagConstraints();        gbc.gridx = 0;        gbc.gridy = 8;        gbc.gridwidth = 5;        gbc.anchor = GridBagConstraints.CENTER;        gbc.insets = insets;        gbc.fill = GridBagConstraints.HORIZONTAL;        gbc.weightx = 1.0;        editPanel.add(buttonPanel, gbc);        // tabpane        tabPane.addTab(ElanLocale.getString("Button.Add"), null);        tabPane.addTab(ElanLocale.getString("Button.Change"), null);        tabPane.addTab(ElanLocale.getString("Button.Delete"), null);        tabPane.setComponentAt(0, editPanel);        tabPane.setSelectedIndex(0);        tabPane.addChangeListener(this);    }    /**     * Applies localized strings to the ui elements.     */    private void updateLocale() {        tablePanel.setBorder(new TitledBorder(ElanLocale.getString(                    "TimeSeriesViewer.Config.CurrentTracks")));        titleLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.Tracks.Title"));        selectTrackLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.SelectTrack"));        trackNameLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.TrackName"));        trackDescLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.TrackDesc"));        sampleLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.SampleCell"));        singleCellRB.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.SingleCell"));        rowLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.SampleRow"));        columnLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.SampleColumn"));        multiCellRB.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.MultiCell"));        multiCellButton.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.MultiCellConfig"));        rangeLabel.setText(ElanLocale.getString("TimeSeriesViewer.Config.Range"));        calcRangeRB.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.RangeCalc"));        manRangeRB.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.RangeManual"));        minLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.RangeMinimum"));        maxLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.RangeMaximum"));        deriveLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.Derivative"));        unitLabel.setText(ElanLocale.getString("TimeSeriesViewer.Config.Units"));        colorLabel.setText(ElanLocale.getString(                "TimeSeriesViewer.Config.TrackColor"));        colorButton.setText("...");        changeButton.setText(ElanLocale.getString("Button.Add"));    }    /**     * Updates texts and enables/disables components for the current  edit     * mode.     */    private void updateForMode() {        switch (mode) {        case ADD:            currentTracksCB.setEnabled(false);            trackNameTF.setEnabled(true);            trackNameTF.setEditable(true);            trackDescTF.setEnabled(true);            trackDescTF.setEditable(true);            rowSpinner.setEnabled(true);            colSpinner.setEnabled(true);            if (manRangeRB.isSelected()) {                minTF.setEnabled(true);                minTF.setEditable(true);                maxTF.setEnabled(true);                maxTF.setEditable(true);            }            deriv0RB.setEnabled(true);            deriv1RB.setEnabled(true);            deriv2RB.setEnabled(true);            deriv3RB.setEnabled(true);            unitTF.setEnabled(true);            unitTF.setEditable(true);            colorButton.setEnabled(true);            changeButton.setText(ElanLocale.getString("Button.Add"));            break;        case CHANGE:            currentTracksCB.setEnabled(true);            trackNameTF.setEnabled(true);            trackNameTF.setEditable(true);            trackDescTF.setEnabled(true);            trackDescTF.setEditable(true);            rowSpinner.setEnabled(false);            colSpinner.setEnabled(false);            if (manRangeRB.isSelected()) {                minTF.setEnabled(true);                minTF.setEditable(true);                maxTF.setEnabled(true);                maxTF.setEditable(true);            }            deriv0RB.setEnabled(false);            deriv1RB.setEnabled(false);            deriv2RB.setEnabled(false);            deriv3RB.setEnabled(false);            unitTF.setEnabled(true);            unitTF.setEditable(true);            colorButton.setEnabled(true);            changeButton.setText(ElanLocale.getString("Button.Change"));            break;        case DELETE:            currentTracksCB.setEnabled(true);            trackNameTF.setEnabled(false);            trackNameTF.setEditable(false);            trackDescTF.setEnabled(false);            trackDescTF.setEditable(false);            rowSpinner.setEnabled(false);            colSpinner.setEnabled(false);            minTF.setEnabled(false);            minTF.setEditable(false);            maxTF.setEnabled(false);            maxTF.setEditable(false);            deriv0RB.setEnabled(false);            deriv1RB.setEnabled(false);            deriv2RB.setEnabled(false);            deriv3RB.setEnabled(false);            unitTF.setEnabled(false);            unitTF.setEditable(false);            colorButton.setEnabled(false);            changeButton.setText(ElanLocale.getString("Button.Delete"));            break;        }    }    private void updateForTrack(String trackName) {        if (trackName == null) {            // empty the fields            trackNameTF.setText("");            trackDescTF.setText("");            unitTF.setText("");            rowSpinner.setValue(new Integer(0));            colSpinModel.setMaximum(new Integer(DataGloveConstants.COLS_PER_ROW[0] -                    1));            colSpinner.setValue(new Integer(0));            minTF.setValue(new Float(0));            maxTF.setValue(new Float(100));            deriv0RB.setSelected(true);            colorButton.setBackground(Color.GREEN);            trackTable.getSelectionModel().clearSelection();            return;        }        // get current track        TSTrackConfiguration tst;        for (int i = 0; i < tracks.size(); i++) {            tst = (TSTrackConfiguration) tracks.get(i);            if (tst.getTrackName().equals(trackName)) {                currentTrack = tst;                break;            }        }        if (currentTrack != null) {            AbstractTSTrack track = (AbstractTSTrack) currentTrack.getObject(currentTrack.getTrackName());            if (currentTracksCB.getSelectedItem() != currentTrack.getTrackName()) {                currentTracksCB.setSelectedItem(currentTrack.getTrackName());            }            String tmp;            trackNameTF.setText(currentTrack.getTrackName());            // info from track            if (track != null) {                tmp = track.getDescription();                if (tmp != null) {                    trackDescTF.setText(tmp);                } else {                    trackDescTF.setText("");                }                tmp = track.getUnitString();                if (tmp != null) {                    unitTF.setText(tmp);                } else {                    unitTF.setText("");                }                if ("true".equals(currentTrack.getProperty(                                TimeSeriesConstants.AUTO_DETECT_RANGE))) {                    calcRangeRB.setSelected(true);                    minTF.setEnabled(false);                    minTF.setEditable(false);                    maxTF.setEnabled(false);                    maxTF.setEditable(false);                } else {                    manRangeRB.setSelected(true);                    minTF.setEnabled(true);                    minTF.setEditable(true);                    maxTF.setEnabled(true);                    maxTF.setEditable(true);                }                float[] range = track.getRange();                if (range != null) {                    minTF.setValue(new Float(range[0]));                    maxTF.setValue(new Float(range[1]));                } else {                    minTF.setValue(new Float(0));                    maxTF.setValue(new Float(100));                }                int deriv = track.getDerivativeLevel();                switch (deriv) {                case 1:                    deriv1RB.setSelected(true);                    break;                case 2:                    deriv2RB.setSelected(true);                    break;                case 3:                    deriv3RB.setSelected(true);                    break;                default:                    deriv0RB.setSelected(true);                }                Color c = (Color) track.getColor();                if (c != null) {                    colorButton.setBackground(c);                } else {                    colorButton.setBackground(Color.GREEN);                }            } else {                trackDescTF.setText("");                unitTF.setText("");                deriv0RB.setSelected(true);                colorButton.setBackground(Color.GREEN);            }            SamplePosition spos = currentTrack.getSamplePos();            if (spos != null) {                int[] rows = spos.getRows();                int[] cols = spos.getColumns();                if (rows.length == 1) {                    singleCellRB.setSelected(true);                    rowSpinner.setValue(new Integer(rows[0]));                    colSpinModel.setMaximum(new Integer(DataGloveConstants.COLS_PER_ROW[rows[0]] -                            1));                    colSpinner.setValue(new Integer(cols[0]));                } else {                    multiCellRB.setSelected(true);                }            }            // update table            if (model != null) {                int col = model.findColumn(TrackTableModel.NAME);                trackTable.getSelectionModel().removeListSelectionListener(this);                for (int i = 0; i < model.getRowCount(); i++) {                    if (currentTrack.getTrackName().equals(model.getValueAt(i,                                    col))) {                        trackTable.getSelectionModel().setLeadSelectionIndex(i);                        break;                    }                }                trackTable.getSelectionModel().addListSelectionListener(this);            }        }    }    /**     * Updates table and combo boxes with the information of the current     * tracks.     */    private void reextractTracks() {        currentTracksCB.removeItemListener(this);        currentTracksCB.removeAllItems();        model.removeAllRows();        TSTrackConfiguration tr;        for (int i = 0; i < tracks.size(); i++) {            tr = (TSTrackConfiguration) tracks.get(i);            currentTracksCB.addItem(tr.getTrackName());            model.addRow(tr);        }        currentTracksCB.addItemListener(this);    }    /**     * Notifies registered listeners of a TimeSeries change event.     *     * @param ev the event     */    private void notifyListeners(TimeSeriesChangeEvent ev) {        if (listeners != null) {            for (int i = 0; i < listeners.size(); i++) {                ((TimeSeriesChangeListener) listeners.get(i)).timeSeriesChanged(ev);            }        }    }    /**     * Sets the file reader to use for the creation of tracks.     *     * @param reader the log file reader     */    public void setReader(DataGloveFileReader reader) {        this.reader = reader;    }    /**     * @see mpi.eudico.server.timeseries.spi.TSConfigPanel#addTimeSeriesChangeListener(mpi.eudico.server.timeseries.TimeSeriesChangeListener)     */    public void addTimeSeriesChangeListener(TimeSeriesChangeListener li) {        if (listeners == null) {            listeners = new ArrayList();        }        listeners.add(li);    }    /**     * @see mpi.eudico.server.timeseries.spi.TSConfigPanel#setSourceConfiguration(mpi.eudico.server.timeseries.TSSourceConfiguration)     */    public void setSourceConfiguration(TSSourceConfiguration tssc) {        if (tssc == null) {            return;        }        tracks.clear();        config = tssc;        sourceLabel.setText(config.getSource());        // update ui        Iterator trit = config.objectKeySet().iterator();        Object val;        while (trit.hasNext()) {            val = config.getObject(trit.next());            if (val instanceof TSTrackConfiguration) {                tracks.add(val);            }        }        // update table and current track box        currentTracksCB.removeItemListener(this);        currentTracksCB.removeAllItems();        trackTable.getSelectionModel().removeListSelectionListener(this);        model.removeAllRows();        TSTrackConfiguration tr;        for (int i = 0; i < tracks.size(); i++) {            tr = (TSTrackConfiguration) tracks.get(i);            currentTracksCB.addItem(tr.getTrackName());            model.addRow(tr);        }        currentTracksCB.addItemListener(this);        trackTable.getSelectionModel().addListSelectionListener(this);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -