presentation.program.GuiTabProgramm.java Source code

Java tutorial

Introduction

Here is the source code for presentation.program.GuiTabProgramm.java

Source

package presentation.program;
/*
GuiTabProgramm.java by Geist Alexander 
    
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
    
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  
    
*/

import java.awt.Component;
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSpinner;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.ListSelectionModel;
import javax.swing.SpinnerDateModel;
import javax.swing.SwingConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableCellRenderer;

import presentation.GuiTab;
import presentation.GuiTableSorter;
import service.SerIconManager;
import boxConnection.SerStreamingServer;
import calendar.JDateChooser;

import com.jgoodies.forms.builder.PanelBuilder;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;

import control.ControlMain;
import control.ControlProgramTab;

public class GuiTabProgramm extends GuiTab {

    private JTabbedPane jControlTab = null;
    private JPanel tabProgramm = null;
    private JPanel jPanelButtonsAktionen = null;
    private JPanel jPanelChannel = null;
    private JPanel jPanelEpg = null;
    private JPanel jPanelEpgDetails = null;
    private JPanel jPanelRecordInfo = null;
    private JPanel jPanelOutput = null;
    private JPanel jPanelSouth = null;
    private JComboBox jComboChooseDate = null;
    private JTable jTableEPG = null;
    private JScrollPane jScrollPaneEPG = null;
    private JButton jButtonQuickRecord = null;
    private JButton jButtonBroadcastList = null;
    private JButton jButtonPlayback = null;
    private JButton jButtonToTimer = null;
    private JButton jButtonStartServer = null;
    private JButton jButtonRefresh = null;
    private JRadioButton jRadioButtonTVMode = null;
    private JRadioButton jRadioButtonRadioMode = null;
    private ButtonGroup tvRadioButtonGroup = new ButtonGroup();
    private JCheckBox cbShutdownAfterRecord;
    private JTextArea jTextAreaEPG = null;
    private JTextArea jTextAreaAusgabe = null;
    private JSpinner jSpinnerRecordStopTime;
    private JComboBox jComboBoxBoxIP = null;
    private GuiSenderTableModel senderTableModel;
    private GuiBoquetsComboModel boquetsComboModel;
    private GuiEpgTableModel epgTableModel;
    private JScrollPane jScrollPaneChannels = null;
    private JTable jTableChannels = null;
    private ControlProgramTab control;
    private JComboBox JComboBoxBouquets = null;
    private JDateChooser jDateChooser = null;
    private JScrollPane jScrollPaneEPGDetail = null;
    private JScrollPane jScrollPaneAusgabe = null;
    public GuiTableSorter sorter = null;
    private SpinnerDateModel dateModelSpinnerStopTime;
    private SerIconManager iconManager = SerIconManager.getInstance();

    private SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");

    public GuiTabProgramm(ControlProgramTab control) {
        this.setControl(control);
        initialize();
        this.setDisconnectModus();
    }

    protected void initialize() {
        FormLayout layout = new FormLayout("f:pref, 10, f:pref, 10, f:340:grow", // columns
                "f:310:grow, 10, f:pref, 5, pref"); // rows
        PanelBuilder builder = new PanelBuilder(this, layout);
        builder.setDefaultDialogBorder();
        CellConstraints cc = new CellConstraints();

        builder.add(this.getJPanelChannels(), cc.xy(1, 1));
        builder.add(this.getJPanelEpg(), cc.xywh(3, 1, 3, 1));
        builder.add(this.getJPanelSouth(), cc.xywh(1, 3, 5, 1));
    }

    /**
     * This method initializes jPanelEpgSouth
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJPanelSouth() {
        if (jPanelSouth == null) {
            jPanelSouth = new JPanel();
            FormLayout layout = new FormLayout("f:pref, 10, f:pref, 10, f:340:grow", // columns
                    "f:pref, 5, pref"); // rows
            PanelBuilder builder = new PanelBuilder(jPanelSouth, layout);
            CellConstraints cc = new CellConstraints();

            builder.add(this.getJPanelButtonsAktionen(), cc.xywh(1, 1, 1, 1));
            builder.add(this.getJPanelRecordInfo(), cc.xywh(3, 1, 1, 1));
            builder.add(this.getJPanelEpgDetails(), cc.xywh(5, 1, 1, 3));
        }
        return jPanelSouth;
    }

    /**
     * This method initializes jPanelEpgDetails
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJPanelEpgDetails() {
        if (jPanelEpgDetails == null) {
            jPanelEpgDetails = new JPanel();
            FormLayout layout = new FormLayout("f:d:grow", //columns
                    "pref, 5, f:d:grow"); //rows
            PanelBuilder builder = new PanelBuilder(jPanelEpgDetails, layout);
            CellConstraints cc = new CellConstraints();

            builder.addSeparator(ControlMain.getProperty("label_epgDetails"),
                    cc.xy(1, 1, CellConstraints.FILL, CellConstraints.TOP));
            builder.add(this.getJScrollPaneEPGDetail(), cc.xy(1, 3));
        }
        return jPanelEpgDetails;
    }

    /**
     * This method initializes jPanelEpg
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJPanelEpg() {
        if (jPanelEpg == null) {
            jPanelEpg = new JPanel();
            FormLayout layout = new FormLayout("f:d:grow, pref, 5, pref", //columns
                    "f:pref, f:d:grow, 5, pref"); //rows
            PanelBuilder builder = new PanelBuilder(jPanelEpg, layout);
            CellConstraints cc = new CellConstraints();

            builder.addSeparator(ControlMain.getProperty("label_epg"), cc.xyw(1, 1, 4));
            builder.add(this.getJScrollPaneEPG(), cc.xyw(1, 2, 4));
            builder.add(this.getJButtonBroadcastList(), cc.xy(2, 4));
            builder.add(this.getJButtonSelectedToTimer(), cc.xy(4, 4));
        }
        return jPanelEpg;
    }

    /**
     * This method initializes jPanelButtonsAktionen
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJPanelButtonsAktionen() {
        if (jPanelButtonsAktionen == null) {
            jPanelButtonsAktionen = new JPanel();
            FormLayout layout = new FormLayout("30, 130", //columna
                    "pref, 5, pref, 5, pref, 5, pref, 5, pref"); //rows
            PanelBuilder builder = new PanelBuilder(jPanelButtonsAktionen, layout);
            CellConstraints cc = new CellConstraints();

            builder.addSeparator(ControlMain.getProperty("label_actions"), cc.xywh(1, 1, 2, 1));
            builder.add(this.getJButtonPlayback(), cc.xyw(1, 3, 2, CellConstraints.FILL, CellConstraints.FILL));
            builder.add(this.getJButtonRefresh(), cc.xyw(1, 5, 1, CellConstraints.FILL, CellConstraints.FILL));
            builder.add(this.getJComboBoxBoxIP(), cc.xyw(2, 5, 1, CellConstraints.FILL, CellConstraints.FILL));
            builder.addSeparator(ControlMain.getProperty("label_sserver"), cc.xyw(1, 7, 2));
            builder.add(this.getJButtonStartServer(), cc.xyw(1, 9, 2, CellConstraints.FILL, CellConstraints.FILL));
        }
        return jPanelButtonsAktionen;
    }

    private JPanel getJPanelRecordInfo() {
        if (jPanelRecordInfo == null) {
            jPanelRecordInfo = new JPanel();
            FormLayout layout = new FormLayout("pref", //columna
                    "pref, 5, pref, 5, pref, 2, 25, 5, pref"); //rows
            PanelBuilder builder = new PanelBuilder(jPanelRecordInfo, layout);
            CellConstraints cc = new CellConstraints();

            builder.addSeparator(ControlMain.getProperty("label_recordInfo"), cc.xy(1, 1));
            builder.add(this.getJButtonAufnahme(), cc.xy(1, 3));
            builder.add(new JLabel(ControlMain.getProperty("label_stopRecord")), cc.xy(1, 5));
            builder.add(this.getJSpinnerRecordStopTime(), cc.xy(1, 7));
            builder.add(this.getCbShutdownAfterRecord(), cc.xy(1, 9));
        }
        return jPanelRecordInfo;
    }

    private JPanel getJPanelChannels() {
        if (jPanelChannel == null) {
            jPanelChannel = new JPanel();
            FormLayout layout = new FormLayout("100,100", //column
                    "pref, pref, 4, pref, pref, min:grow, pref"); //rows
            PanelBuilder builder = new PanelBuilder(jPanelChannel, layout);
            CellConstraints cc = new CellConstraints();

            builder.addSeparator(ControlMain.getProperty("label_date"), cc.xyw(1, 1, 2));
            builder.add(this.getJDateChooser(), cc.xyw(1, 2, 2, CellConstraints.FILL, CellConstraints.FILL));
            builder.addSeparator(ControlMain.getProperty("label_zapping"), cc.xyw(1, 4, 2));
            builder.add(this.getJComboBoxBouquets(), cc.xyw(1, 5, 2, CellConstraints.FILL, CellConstraints.FILL));
            builder.add(this.getJScrollPaneChannels(), cc.xyw(1, 6, 2, CellConstraints.FILL, CellConstraints.FILL));
            builder.add(this.getJRadioButtonTVMode(), cc.xy(1, 7));
            builder.add(this.getJRadioButtonRadioMode(), cc.xy(2, 7));
        }
        return jPanelChannel;
    }

    /**
     * This method initializes jComboBoxBoxIP
     * 
     * @return javax.swing.JComboBox
     */
    public JComboBox getJComboBoxBoxIP() {
        if (jComboBoxBoxIP == null) {
            jComboBoxBoxIP = new JComboBox();
            jComboBoxBoxIP.setEditable(true);
            jComboBoxBoxIP.setModel(new GuiIpListComboModel());
            jComboBoxBoxIP.addItemListener(control);
            jComboBoxBoxIP.setRenderer(new GuiIpComboCellRenderer());
            jComboBoxBoxIP.setPreferredSize(new Dimension(80, 22));
            jComboBoxBoxIP.setEditable(false);
            jComboBoxBoxIP.setName("ipList");
        }
        return jComboBoxBoxIP;
    }

    /**
     * This method initializes jTable
     * 
     * @return javax.swing.JTable
     */
    public JTable getJTableEPG() {
        if (jTableEPG == null) {
            epgTableModel = new GuiEpgTableModel(control);
            sorter = new GuiTableSorter(epgTableModel);
            jTableEPG = new JTable(sorter);
            sorter.setTableHeader(jTableEPG.getTableHeader());

            jTableEPG.setDefaultRenderer(Date.class, new DefaultTableCellRenderer() {

                public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                        boolean hasFocus, int row, int column) {

                    JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,
                            column);
                    l.setText(timeFormat.format((Date) value));
                    l.setHorizontalAlignment(SwingConstants.CENTER);
                    return l;
                }
            });

            jTableEPG.setDefaultRenderer(String.class, new DefaultTableCellRenderer() {

                public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                        boolean hasFocus, int row, int column) {

                    JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,
                            column);
                    l.setText((String) value);
                    if (column == 2) {
                        l.setHorizontalAlignment(SwingConstants.CENTER);
                    } else if (column == 3) {
                        l.setHorizontalAlignment(SwingConstants.LEFT);
                    }
                    return l;
                }
            });

            jTableEPG.getColumnModel().getColumn(0).setMaxWidth(55);
            jTableEPG.getColumnModel().getColumn(1).setMaxWidth(55);
            jTableEPG.getColumnModel().getColumn(2).setMaxWidth(60);
            jTableEPG.getColumnModel().getColumn(3).setPreferredWidth(280);
            jTableEPG.addMouseListener(control);
            jTableEPG.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
                public void valueChanged(ListSelectionEvent e) {
                    if (!e.getValueIsAdjusting()) {

                        control.epgChanged(jTableEPG);
                    }
                }

            });
            jTableEPG.setName("Epg");
        }
        return jTableEPG;
    }

    /**
     * This method initializes jScrollPane
     * 
     * @return javax.swing.JScrollPane
     */
    private JScrollPane getJScrollPaneEPG() {
        if (jScrollPaneEPG == null) {
            jScrollPaneEPG = new JScrollPane();
            jScrollPaneEPG.setViewportView(getJTableEPG());
        }
        return jScrollPaneEPG;
    }

    private JScrollPane getJScrollPaneEPGDetail() {
        if (jScrollPaneEPGDetail == null) {
            jScrollPaneEPGDetail = new JScrollPane();
            jScrollPaneEPGDetail.setViewportView(getJTextAreaEPG());
        }
        return jScrollPaneEPGDetail;
    }

    /**
     * This method initializes jButtonBroadcastList
     * 
     * @return javax.swing.JButton
     */
    public JButton getJButtonAufnahme() {
        if (jButtonQuickRecord == null) {
            jButtonQuickRecord = new JButton(iconManager.getIcon("record.png"));
            jButtonQuickRecord.setText(ControlMain.getProperty("button_record"));
            jButtonQuickRecord.setActionCommand("record");
            jButtonQuickRecord.setToolTipText(ControlMain.getProperty("buttontt_record"));
            jButtonQuickRecord.addActionListener(this.getControl());
        }
        return jButtonQuickRecord;
    }

    /**
     * This method initializes jButtonRefresh
     * 
     * @return javax.swing.JButton
     */
    public JButton getJButtonRefresh() {
        if (jButtonRefresh == null) {
            jButtonRefresh = new JButton(iconManager.getIcon("Refresh16.gif"));
            jButtonRefresh.setActionCommand("refresh");
            jButtonRefresh.setToolTipText(ControlMain.getProperty("buttontt_refresh"));
            jButtonRefresh.addActionListener(this.getControl());
        }
        return jButtonRefresh;
    }

    /**
     * This method initializes jButtonBroadcastList
     * 
     * @return javax.swing.JButton
     */
    public JButton getJButtonBroadcastList() {
        if (jButtonBroadcastList == null) {
            jButtonBroadcastList = new JButton(iconManager.getIcon("notice.png"));
            jButtonBroadcastList.setText(ControlMain.getProperty("button_broadcast"));
            jButtonBroadcastList.setActionCommand("broadcastList");
            jButtonBroadcastList.setToolTipText(ControlMain.getProperty("buttontt_broadcast"));
            jButtonBroadcastList.addActionListener(this.getControl());
        }
        return jButtonBroadcastList;
    }

    /**
     * This method initializes jButtonPlayback
     * 
     * @return javax.swing.JButton
     */
    public JButton getJButtonPlayback() {
        if (jButtonPlayback == null) {
            jButtonPlayback = new JButton(iconManager.getIcon("forward.png"));
            jButtonPlayback.setText(ControlMain.getProperty("button_playback"));
            jButtonPlayback.setActionCommand("playback");
            jButtonPlayback.setToolTipText(ControlMain.getProperty("buttontt_playback"));
            jButtonPlayback.addActionListener(this.getControl());
        }
        return jButtonPlayback;
    }

    /**
     * This method initializes jTextField
     * 
     * @return javax.swing.JTextField
     */
    public JSpinner getJSpinnerRecordStopTime() {
        if (jSpinnerRecordStopTime == null) {
            dateModelSpinnerStopTime = new SpinnerDateModel();
            jSpinnerRecordStopTime = new JSpinner(dateModelSpinnerStopTime);
            JSpinner.DateEditor dateEditor = new JSpinner.DateEditor(jSpinnerRecordStopTime, "HH:mm - dd.MM.yyyy");
            jSpinnerRecordStopTime.setEditor(dateEditor);
            jSpinnerRecordStopTime.setPreferredSize(new java.awt.Dimension(105, 25));
            jSpinnerRecordStopTime.setToolTipText(ControlMain.getProperty("buttontt_quickRecord"));
            jSpinnerRecordStopTime.addChangeListener(control);
        }
        return jSpinnerRecordStopTime;
    }

    /**
     * This method initializes jButtonToTimer
     * 
     * @return javax.swing.JButton
     */
    public JButton getJButtonSelectedToTimer() {
        if (jButtonToTimer == null) {
            jButtonToTimer = new JButton(iconManager.getIcon("attach.png"));
            jButtonToTimer.setText(ControlMain.getProperty("button_toTimer"));
            jButtonToTimer.setActionCommand("toTimer");
            jButtonToTimer.setToolTipText(ControlMain.getProperty("buttontt_toTimer"));
            jButtonToTimer.addActionListener(this.getControl());
        }
        return jButtonToTimer;
    }

    /**
     * This method initializes jButtonStartServer
     * 
     * @return javax.swing.JButton
     */
    public JButton getJButtonStartServer() {
        if (jButtonStartServer == null) {
            jButtonStartServer = new JButton();
            jButtonStartServer.setText(ControlMain.getProperty("button_startServer"));
            jButtonStartServer.setActionCommand("startServer");
            jButtonStartServer.setToolTipText(ControlMain.getProperty("buttontt_startServer"));
            jButtonStartServer.addActionListener(this.getControl());
            if (SerStreamingServer.isRunning) {
                this.startStreamingServerModus();
            }
        }
        return jButtonStartServer;
    }

    /**
     * @return Returns the cbShutdownAfterRecord.
     */
    public JCheckBox getCbShutdownAfterRecord() {
        if (cbShutdownAfterRecord == null) {
            cbShutdownAfterRecord = new JCheckBox(ControlMain.getProperty("cbShutdownAfterRecord"));
            cbShutdownAfterRecord.setActionCommand("shutdownAfterRecord");
            cbShutdownAfterRecord.addActionListener(control);
        }
        return cbShutdownAfterRecord;
    }

    /**
     * This method initializes jTextAreaEPG
     * 
     * @return javax.swing.JTextPane
     */
    public JTextArea getJTextAreaEPG() {
        if (jTextAreaEPG == null) {
            jTextAreaEPG = new JTextArea();
            jTextAreaEPG.setEditable(false);
            jTextAreaEPG.setLineWrap(true);
            jTextAreaEPG.setWrapStyleWord(true);
            jTextAreaEPG.setAutoscrolls(true);
        }
        return jTextAreaEPG;
    }

    private JScrollPane getJScrollPaneChannels() {
        if (jScrollPaneChannels == null) {
            jScrollPaneChannels = new JScrollPane();
            jScrollPaneChannels.setViewportView(getJTableChannels());
        }
        return jScrollPaneChannels;
    }

    /**
     * This method initializes jTableChannels
     * 
     * @return javax.swing.JList
     */
    public JTable getJTableChannels() {
        if (jTableChannels == null) {
            senderTableModel = new GuiSenderTableModel(control);
            jTableChannels = new JTable(senderTableModel);
            jTableChannels.getColumnModel().getColumn(0).setPreferredWidth(40);
            jTableChannels.getColumnModel().getColumn(1).setPreferredWidth(185);
            jTableChannels.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            jTableChannels.addMouseListener(control);
            jTableChannels.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

                public void valueChanged(ListSelectionEvent e) {
                    if (!e.getValueIsAdjusting()) {
                        control.channelChanged(jTableChannels);
                    }
                }
            });

            jTableChannels.setName("Sender");
            jTableChannels.setShowHorizontalLines(false);
            jTableChannels.setShowVerticalLines(false);

        }
        return jTableChannels;
    }

    public JComboBox getJComboBoxBouquets() {
        if (JComboBoxBouquets == null) {
            boquetsComboModel = new GuiBoquetsComboModel(control);
            JComboBoxBouquets = new JComboBox(boquetsComboModel);
            JComboBoxBouquets.addItemListener(control);
            JComboBoxBouquets.setName("bouquets");
        }
        return JComboBoxBouquets;
    }

    /**
     * @return Returns the boquetsComboModel.
     */
    public GuiBoquetsComboModel getBoquetsComboModel() {
        return boquetsComboModel;
    }

    /**
     * @param boquetsComboModel
     *            The boquetsComboModel to set.
     */
    public void setBoquetsComboModel(GuiBoquetsComboModel guiBoquetsComboModel) {
        this.boquetsComboModel = guiBoquetsComboModel;
    }

    /**
     * @return Returns the senderTableModel.
     */
    public GuiSenderTableModel getSenderTableModel() {
        return senderTableModel;
    }

    /**
     * @param senderTableModel
     *            The senderTableModel to set.
     */
    public void setSenderTableModel(GuiSenderTableModel senderTableModel) {
        this.senderTableModel = senderTableModel;
    }

    /**
     * This method initializes jDateChooser
     * 
     * Achtung modifizierter DateChooser!!! Es wird das Control ControlProgramTab als "Listener" uebergeben wird das Datum geaendert wird
     * das aktuelle Datum automatisch ueber setDateChooserDate(Date) gesetzt
     */
    public JDateChooser getJDateChooser() {
        if (jDateChooser == null) {
            jDateChooser = new JDateChooser("d MMMMM, yyyy", false, control);
        }
        return jDateChooser;
    }

    /**
     * @return Returns the epgTableModel.
     */
    public GuiEpgTableModel getEpgTableModel() {
        return epgTableModel;
    }

    /**
     * @param epgTableModel
     *            The epgTableModel to set.
     */
    public void setEpgTableModel(GuiEpgTableModel epgTableModel) {
        this.epgTableModel = epgTableModel;
    }

    /**
     * @return ControlProgramTab
     */
    public ControlProgramTab getControl() {
        return control;
    }

    /**
     * Sets the control.
     * 
     * @param control
     *            The control to set
     */
    public void setControl(ControlProgramTab control) {
        this.control = control;
    }

    public void setDisconnectModus() {
        this.getJButtonAufnahme().setEnabled(false);
        this.getJButtonSelectedToTimer().setEnabled(false);
        this.getJButtonPlayback().setEnabled(false);
    }

    public void setConnectModus() {
        this.getJButtonAufnahme().setEnabled(true);
        this.getJButtonSelectedToTimer().setEnabled(true);
        this.getJButtonPlayback().setEnabled(true);
    }

    public void stopStreamingServerModus() {
        this.getJButtonStartServer().setText(ControlMain.getProperty("button_startServer"));
        this.getJButtonStartServer().setToolTipText(ControlMain.getProperty("buttontt_startServer"));
    }

    public void startStreamingServerModus() {
        this.getJButtonStartServer().setText(ControlMain.getProperty("button_stopServer"));
        this.getJButtonStartServer().setToolTipText(ControlMain.getProperty("buttontt_stopServer"));
    }

    /**
     * Versetzen des Aufnahme-Buttons in den Aufnahme-Warte-Modus
     */
    public void stopRecordModus() {
        this.getJButtonAufnahme().setText(ControlMain.getProperty("button_record"));
        this.getJButtonAufnahme().setToolTipText(ControlMain.getProperty("buttontt_record"));
        this.getJButtonAufnahme().setIcon(iconManager.getIcon("record.png"));
    }

    /**
     * Versetzen des Aufnahme-Buttons in den in den Aufnahme-Modus
     */
    public void startRecordModus() {
        this.getJButtonAufnahme().setText(ControlMain.getProperty("button_stopRecord"));
        this.getJButtonAufnahme().setToolTipText(ControlMain.getProperty("buttontt_stopRecord"));
        this.getJButtonAufnahme().setIcon(iconManager.getIcon("stop.png"));
    }

    /**
     * @return Returns the dateModelSpinnerStopTime.
     */
    public SpinnerDateModel getDateModelSpinnerStopTime() {
        return dateModelSpinnerStopTime;
    }

    /**
     * @return Returns the jRadioButtonRadioMode.
     */
    public JRadioButton getJRadioButtonRadioMode() {
        if (jRadioButtonRadioMode == null) {
            jRadioButtonRadioMode = new JRadioButton(ControlMain.getProperty("button_radio"));
            jRadioButtonRadioMode.addActionListener(control);
            jRadioButtonRadioMode.setActionCommand("radioMode");
            tvRadioButtonGroup.add(jRadioButtonRadioMode);
        }
        return jRadioButtonRadioMode;
    }

    /**
     * @return Returns the jRadioButtonTVMode.
     */
    public JRadioButton getJRadioButtonTVMode() {
        if (jRadioButtonTVMode == null) {
            jRadioButtonTVMode = new JRadioButton(ControlMain.getProperty("button_tv"));
            jRadioButtonTVMode.addActionListener(control);
            jRadioButtonTVMode.setActionCommand("tvMode");
            tvRadioButtonGroup.add(jRadioButtonTVMode);
        }
        return jRadioButtonTVMode;
    }
}