001 /*
002 * $Id: TimePanel.java,v 1.7 2012/02/19 17:35:47 davep Exp $
003 *
004 * This file is part of McIDAS-V
005 *
006 * Copyright 2007-2012
007 * Space Science and Engineering Center (SSEC)
008 * University of Wisconsin - Madison
009 * 1225 W. Dayton Street, Madison, WI 53706, USA
010 * https://www.ssec.wisc.edu/mcidas
011 *
012 * All Rights Reserved
013 *
014 * McIDAS-V is built on Unidata's IDV and SSEC's VisAD libraries, and
015 * some McIDAS-V source code is based on IDV and VisAD source code.
016 *
017 * McIDAS-V is free software; you can redistribute it and/or modify
018 * it under the terms of the GNU Lesser Public License as published by
019 * the Free Software Foundation; either version 3 of the License, or
020 * (at your option) any later version.
021 *
022 * McIDAS-V is distributed in the hope that it will be useful,
023 * but WITHOUT ANY WARRANTY; without even the implied warranty of
024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
025 * GNU Lesser Public License for more details.
026 *
027 * You should have received a copy of the GNU Lesser Public License
028 * along with this program. If not, see http://www.gnu.org/licenses.
029 */
030 package edu.wisc.ssec.mcidasv.monitors.time;
031
032 import static javax.swing.GroupLayout.Alignment.LEADING;
033
034 import javax.swing.GroupLayout;
035 import javax.swing.JLabel;
036 import javax.swing.JPanel;
037
038 import edu.wisc.ssec.mcidasv.monitors.MonitorEvent;
039 import edu.wisc.ssec.mcidasv.monitors.MonitorManager.MonitorType;
040 import edu.wisc.ssec.mcidasv.monitors.Monitoring;
041
042 @SuppressWarnings("serial")
043 public class TimePanel extends JPanel implements Monitoring {
044 private JLabel timeLabel = new JLabel("");
045
046 public TimePanel() {
047 initComponents();
048 }
049
050 // runs in the EDT! be aware!
051 public void monitorUpdated(final MonitorEvent event) {
052 if (event.getType() != MonitorType.TIME)
053 return;
054
055 TimeMonitorEvent timeEvent = (TimeMonitorEvent)event;
056 timeLabel.setText(timeEvent.getOutput());
057 repaint();
058 }
059
060 private void initComponents() {
061 GroupLayout layout = new GroupLayout(this);
062 this.setLayout(layout);
063 layout.setHorizontalGroup(
064 layout.createParallelGroup(LEADING)
065 .addGroup(layout.createSequentialGroup()
066 .addContainerGap()
067 .addComponent(timeLabel)
068 .addContainerGap()));
069
070 layout.setVerticalGroup(
071 layout.createParallelGroup(LEADING)
072 .addGroup(layout.createSequentialGroup()
073 .addComponent(timeLabel)));
074 }
075 }