001/* 002 * $Id: TimePanel.java,v 1.6 2011/03/24 16:06:34 davep Exp $ 003 * 004 * This file is part of McIDAS-V 005 * 006 * Copyright 2007-2011 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 */ 030package edu.wisc.ssec.mcidasv.monitors.time; 031 032import static javax.swing.GroupLayout.Alignment.LEADING; 033 034import javax.swing.GroupLayout; 035import javax.swing.JLabel; 036import javax.swing.JPanel; 037 038import edu.wisc.ssec.mcidasv.monitors.MonitorEvent; 039import edu.wisc.ssec.mcidasv.monitors.MonitorManager.MonitorType; 040import edu.wisc.ssec.mcidasv.monitors.Monitoring; 041 042@SuppressWarnings("serial") 043public 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}