/** * Copyright (c) 2011, SOCIETIES Consortium (WATERFORD INSTITUTE OF TECHNOLOGY (TSSG), HERIOT-WATT UNIVERSITY (HWU), SOLUTA.NET * (SN), GERMAN AEROSPACE CENTRE (Deutsches Zentrum fuer Luft- und Raumfahrt e.V.) (DLR), Zavod za varnostne tehnologije * informacijske družbe in elektronsko poslovanje (SETCCE), INSTITUTE OF COMMUNICATION AND COMPUTER SYSTEMS (ICCS), LAKE * COMMUNICATIONS (LAKE), INTEL PERFORMANCE LEARNING SOLUTIONS LTD (INTEL), PORTUGAL TELECOM INOVAÇÃO, SA (PTIN), IBM Corp., * INSTITUT TELECOM (ITSUD), AMITEC DIACHYTI EFYIA PLIROFORIKI KAI EPIKINONIES ETERIA PERIORISMENIS EFTHINIS (AMITEC), TELECOM * ITALIA S.p.a.(TI), TRIALOG (TRIALOG), Stiftelsen SINTEF (SINTEF), NEC EUROPE LTD (NEC)) * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following * conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT * SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.societies.css.devicemgmt.controller.gui; import javax.swing.JFrame; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.JPanel; import javax.swing.BorderFactory; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; import java.util.List; import javax.swing.JLabel; import javax.swing.JTextField; import org.societies.css.devicemgmt.controller.model.PressureMat; /** * @author Administrator * @created September 19, 2012 */ public class PressureMatMonitorGUI extends JFrame { static PressureMatMonitorGUI thePressureMatMonitorGUI; JPanel pnPanel0; JPanel pnPanel1; JLabel lbLabel0; JTextField tfText0; JPanel pnPanel2; JLabel lbLabel1; JTextField tfText1; JPanel pnPanel3; JLabel lbLabel2; JTextField tfText2; JPanel pnPanel4; JLabel lbLabel3; JTextField tfText3; JPanel pnPanel5; JLabel lbLabel4; JTextField tfText4; JPanel pnPanel6; JLabel lbLabel5; JTextField tfText5; JPanel pnPanel7; JLabel lbLabel6; JTextField tfText6; JPanel pnPanel8; JLabel lbLabel7; JTextField tfText7; private String controllerID; private Hashtable<JLabel, JTextField> labels; private List<PressureMat> mats; /** */ public static void main( String args[] ) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch ( ClassNotFoundException e ) { } catch ( InstantiationException e ) { } catch ( IllegalAccessException e ) { } catch ( UnsupportedLookAndFeelException e ) { } thePressureMatMonitorGUI = new PressureMatMonitorGUI("", new ArrayList<PressureMat>()); } /** */ public PressureMatMonitorGUI(String controllerID, List<PressureMat> mats) { super( "Pressure Mat Monitoring Window Controller ID : " +controllerID); this.controllerID = controllerID; this.mats = mats; this.labels = new Hashtable<JLabel, JTextField>(); pnPanel0 = new JPanel(); GridBagLayout gbPanel0 = new GridBagLayout(); GridBagConstraints gbcPanel0 = new GridBagConstraints(); pnPanel0.setLayout( gbPanel0 ); pnPanel1 = new JPanel(); GridBagLayout gbPanel1 = new GridBagLayout(); GridBagConstraints gbcPanel1 = new GridBagConstraints(); pnPanel1.setLayout( gbPanel1 ); tfText0 = new JTextField( ); if (mats.size()>0){ lbLabel0 = new JLabel(mats.get(0).getPressureMatId()); this.labels.put(lbLabel0, tfText0); }else{ lbLabel0 = new JLabel( "" ); } gbcPanel1.gridx = 0; gbcPanel1.gridy = 0; gbcPanel1.gridwidth = 1; gbcPanel1.gridheight = 1; gbcPanel1.fill = GridBagConstraints.BOTH; gbcPanel1.weightx = 1; gbcPanel1.weighty = 1; gbcPanel1.anchor = GridBagConstraints.NORTH; gbPanel1.setConstraints( lbLabel0, gbcPanel1 ); pnPanel1.add( lbLabel0 ); tfText0 = new JTextField( ); gbcPanel1.gridx = 1; gbcPanel1.gridy = 0; gbcPanel1.gridwidth = 1; gbcPanel1.gridheight = 1; gbcPanel1.fill = GridBagConstraints.BOTH; gbcPanel1.weightx = 1; gbcPanel1.weighty = 0; gbcPanel1.anchor = GridBagConstraints.NORTH; gbPanel1.setConstraints( tfText0, gbcPanel1 ); pnPanel1.add( tfText0 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 0; gbcPanel0.gridwidth = 3; gbcPanel0.gridheight = 1; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel1, gbcPanel0 ); pnPanel0.add( pnPanel1 ); pnPanel2 = new JPanel(); GridBagLayout gbPanel2 = new GridBagLayout(); GridBagConstraints gbcPanel2 = new GridBagConstraints(); pnPanel2.setLayout( gbPanel2 ); tfText1 = new JTextField( ); if (mats.size()>1){ lbLabel1 = new JLabel(mats.get(1).getPressureMatId()); this.labels.put(lbLabel1, tfText1); }else{ lbLabel1 = new JLabel( "" ); } gbcPanel2.gridx = 0; gbcPanel2.gridy = 0; gbcPanel2.gridwidth = 1; gbcPanel2.gridheight = 1; gbcPanel2.fill = GridBagConstraints.BOTH; gbcPanel2.weightx = 1; gbcPanel2.weighty = 1; gbcPanel2.anchor = GridBagConstraints.NORTH; gbPanel2.setConstraints( lbLabel1, gbcPanel2 ); pnPanel2.add( lbLabel1 ); gbcPanel2.gridx = 1; gbcPanel2.gridy = 0; gbcPanel2.gridwidth = 1; gbcPanel2.gridheight = 1; gbcPanel2.fill = GridBagConstraints.BOTH; gbcPanel2.weightx = 1; gbcPanel2.weighty = 0; gbcPanel2.anchor = GridBagConstraints.NORTH; gbPanel2.setConstraints( tfText1, gbcPanel2 ); pnPanel2.add( tfText1 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 1; gbcPanel0.gridwidth = 2; gbcPanel0.gridheight = 1; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel2, gbcPanel0 ); pnPanel0.add( pnPanel2 ); pnPanel3 = new JPanel(); GridBagLayout gbPanel3 = new GridBagLayout(); GridBagConstraints gbcPanel3 = new GridBagConstraints(); pnPanel3.setLayout( gbPanel3 ); tfText2 = new JTextField( ); if (mats.size()>2){ lbLabel2 = new JLabel(mats.get(2).getPressureMatId()); this.labels.put(lbLabel2, tfText2); } else{ lbLabel2 = new JLabel( "" ); } gbcPanel3.gridx = 0; gbcPanel3.gridy = 0; gbcPanel3.gridwidth = 1; gbcPanel3.gridheight = 1; gbcPanel3.fill = GridBagConstraints.BOTH; gbcPanel3.weightx = 1; gbcPanel3.weighty = 1; gbcPanel3.anchor = GridBagConstraints.NORTH; gbPanel3.setConstraints( lbLabel2, gbcPanel3 ); pnPanel3.add( lbLabel2 ); gbcPanel3.gridx = 1; gbcPanel3.gridy = 0; gbcPanel3.gridwidth = 1; gbcPanel3.gridheight = 1; gbcPanel3.fill = GridBagConstraints.BOTH; gbcPanel3.weightx = 1; gbcPanel3.weighty = 0; gbcPanel3.anchor = GridBagConstraints.NORTH; gbPanel3.setConstraints( tfText2, gbcPanel3 ); pnPanel3.add( tfText2 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 2; gbcPanel0.gridwidth = 1; gbcPanel0.gridheight = 1; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel3, gbcPanel0 ); pnPanel0.add( pnPanel3 ); pnPanel4 = new JPanel(); GridBagLayout gbPanel4 = new GridBagLayout(); GridBagConstraints gbcPanel4 = new GridBagConstraints(); pnPanel4.setLayout( gbPanel4 ); tfText3 = new JTextField( ); if (mats.size()>3){ lbLabel3 = new JLabel(mats.get(3).getPressureMatId()); this.labels.put(lbLabel3, tfText3); }else{ lbLabel3 = new JLabel(""); } gbcPanel4.gridx = 0; gbcPanel4.gridy = 0; gbcPanel4.gridwidth = 1; gbcPanel4.gridheight = 1; gbcPanel4.fill = GridBagConstraints.BOTH; gbcPanel4.weightx = 1; gbcPanel4.weighty = 1; gbcPanel4.anchor = GridBagConstraints.NORTH; gbPanel4.setConstraints( lbLabel3, gbcPanel4 ); pnPanel4.add( lbLabel3 ); gbcPanel4.gridx = 1; gbcPanel4.gridy = 0; gbcPanel4.gridwidth = 1; gbcPanel4.gridheight = 1; gbcPanel4.fill = GridBagConstraints.BOTH; gbcPanel4.weightx = 1; gbcPanel4.weighty = 0; gbcPanel4.anchor = GridBagConstraints.NORTH; gbPanel4.setConstraints( tfText3, gbcPanel4 ); pnPanel4.add( tfText3 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 3; gbcPanel0.gridwidth = 2; gbcPanel0.gridheight = 1; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel4, gbcPanel0 ); pnPanel0.add( pnPanel4 ); pnPanel5 = new JPanel(); GridBagLayout gbPanel5 = new GridBagLayout(); GridBagConstraints gbcPanel5 = new GridBagConstraints(); pnPanel5.setLayout( gbPanel5 ); tfText4 = new JTextField( ); if (mats.size()>4){ lbLabel4 = new JLabel(mats.get(4).getPressureMatId()); this.labels.put(lbLabel4, tfText4); }else { lbLabel4 = new JLabel( "" ); } gbcPanel5.gridx = 0; gbcPanel5.gridy = 0; gbcPanel5.gridwidth = 1; gbcPanel5.gridheight = 1; gbcPanel5.fill = GridBagConstraints.BOTH; gbcPanel5.weightx = 1; gbcPanel5.weighty = 1; gbcPanel5.anchor = GridBagConstraints.NORTH; gbPanel5.setConstraints( lbLabel4, gbcPanel5 ); pnPanel5.add( lbLabel4 ); gbcPanel5.gridx = 1; gbcPanel5.gridy = 0; gbcPanel5.gridwidth = 1; gbcPanel5.gridheight = 1; gbcPanel5.fill = GridBagConstraints.BOTH; gbcPanel5.weightx = 1; gbcPanel5.weighty = 0; gbcPanel5.anchor = GridBagConstraints.NORTH; gbPanel5.setConstraints( tfText4, gbcPanel5 ); pnPanel5.add( tfText4 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 4; gbcPanel0.gridwidth = 2; gbcPanel0.gridheight = 1; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel5, gbcPanel0 ); pnPanel0.add( pnPanel5 ); pnPanel6 = new JPanel(); GridBagLayout gbPanel6 = new GridBagLayout(); GridBagConstraints gbcPanel6 = new GridBagConstraints(); pnPanel6.setLayout( gbPanel6 ); tfText5 = new JTextField( ); if (mats.size()>5){ lbLabel5 = new JLabel(mats.get(5).getPressureMatId()); this.labels.put(lbLabel5, tfText5); }else{ lbLabel5 = new JLabel( "" ); } gbcPanel6.gridx = 0; gbcPanel6.gridy = 0; gbcPanel6.gridwidth = 1; gbcPanel6.gridheight = 1; gbcPanel6.fill = GridBagConstraints.BOTH; gbcPanel6.weightx = 1; gbcPanel6.weighty = 1; gbcPanel6.anchor = GridBagConstraints.NORTH; gbPanel6.setConstraints( lbLabel5, gbcPanel6 ); pnPanel6.add( lbLabel5 ); gbcPanel6.gridx = 1; gbcPanel6.gridy = 0; gbcPanel6.gridwidth = 1; gbcPanel6.gridheight = 1; gbcPanel6.fill = GridBagConstraints.BOTH; gbcPanel6.weightx = 1; gbcPanel6.weighty = 0; gbcPanel6.anchor = GridBagConstraints.NORTH; gbPanel6.setConstraints( tfText5, gbcPanel6 ); pnPanel6.add( tfText5 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 5; gbcPanel0.gridwidth = 1; gbcPanel0.gridheight = 2; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel6, gbcPanel0 ); pnPanel0.add( pnPanel6 ); pnPanel7 = new JPanel(); GridBagLayout gbPanel7 = new GridBagLayout(); GridBagConstraints gbcPanel7 = new GridBagConstraints(); pnPanel7.setLayout( gbPanel7 ); tfText6 = new JTextField( ); if (mats.size()>6){ lbLabel6 = new JLabel(mats.get(6).getPressureMatId()); this.labels.put(lbLabel6, tfText6); }else{ lbLabel6 = new JLabel( "" ); } gbcPanel7.gridx = 0; gbcPanel7.gridy = 0; gbcPanel7.gridwidth = 1; gbcPanel7.gridheight = 1; gbcPanel7.fill = GridBagConstraints.BOTH; gbcPanel7.weightx = 1; gbcPanel7.weighty = 1; gbcPanel7.anchor = GridBagConstraints.NORTH; gbPanel7.setConstraints( lbLabel6, gbcPanel7 ); pnPanel7.add( lbLabel6 ); gbcPanel7.gridx = 1; gbcPanel7.gridy = 0; gbcPanel7.gridwidth = 1; gbcPanel7.gridheight = 1; gbcPanel7.fill = GridBagConstraints.BOTH; gbcPanel7.weightx = 1; gbcPanel7.weighty = 0; gbcPanel7.anchor = GridBagConstraints.NORTH; gbPanel7.setConstraints( tfText6, gbcPanel7 ); pnPanel7.add( tfText6 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 7; gbcPanel0.gridwidth = 1; gbcPanel0.gridheight = 1; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel7, gbcPanel0 ); pnPanel0.add( pnPanel7 ); pnPanel8 = new JPanel(); GridBagLayout gbPanel8 = new GridBagLayout(); GridBagConstraints gbcPanel8 = new GridBagConstraints(); pnPanel8.setLayout( gbPanel8 ); tfText7 = new JTextField( ); if (mats.size()>7){ lbLabel7 = new JLabel(mats.get(7).getPressureMatId()); this.labels.put(lbLabel7, tfText7); }else{ lbLabel7 = new JLabel( "" ); } gbcPanel8.gridx = 0; gbcPanel8.gridy = 0; gbcPanel8.gridwidth = 1; gbcPanel8.gridheight = 1; gbcPanel8.fill = GridBagConstraints.BOTH; gbcPanel8.weightx = 1; gbcPanel8.weighty = 1; gbcPanel8.anchor = GridBagConstraints.NORTH; gbPanel8.setConstraints( lbLabel7, gbcPanel8 ); pnPanel8.add( lbLabel7 ); gbcPanel8.gridx = 1; gbcPanel8.gridy = 0; gbcPanel8.gridwidth = 1; gbcPanel8.gridheight = 1; gbcPanel8.fill = GridBagConstraints.BOTH; gbcPanel8.weightx = 1; gbcPanel8.weighty = 0; gbcPanel8.anchor = GridBagConstraints.NORTH; gbPanel8.setConstraints( tfText7, gbcPanel8 ); pnPanel8.add( tfText7 ); gbcPanel0.gridx = 0; gbcPanel0.gridy = 8; gbcPanel0.gridwidth = 1; gbcPanel0.gridheight = 1; gbcPanel0.fill = GridBagConstraints.BOTH; gbcPanel0.weightx = 1; gbcPanel0.weighty = 0; gbcPanel0.anchor = GridBagConstraints.NORTH; gbPanel0.setConstraints( pnPanel8, gbcPanel0 ); pnPanel0.add( pnPanel8 ); setDefaultCloseOperation( EXIT_ON_CLOSE ); setContentPane( pnPanel0 ); pack(); setVisible( true ); } public void updatePressureMatInfo(PressureMat mat){ Enumeration<JLabel> keys = this.labels.keys(); while(keys.hasMoreElements()){ JLabel lbl = keys.nextElement(); if (lbl.getText().trim().equalsIgnoreCase(mat.getPressureMatId().trim())){ this.labels.get(lbl).setText(Boolean.toString(mat.isEnabled())); } } } public void updatePressureMatInfo(String resourceId, String value){ Enumeration<JLabel> keys = this.labels.keys(); while(keys.hasMoreElements()){ JLabel lbl = keys.nextElement(); if (lbl.getText().trim().equalsIgnoreCase(resourceId.trim())){ this.labels.get(lbl).setText(value); } } } /** * @return the controllerID */ public String getControllerID() { return controllerID; } }