1 package com.calipso.reportgenerator.userinterface.dinamicchart; 2 3 import com.calipso.reportgenerator.common.ReportMetricSpec; 4 import javax.swing.*; 5 import java.util.HashMap ; 6 import java.util.Iterator ; 7 import java.awt.*; 8 import java.awt.event.ItemListener ; 9 import java.awt.event.ItemEvent ; 10 11 18 public class ChartMetricsSelection extends JPanel implements ItemListener { 19 20 private ChartPivotTableManager manager = ChartPivotTableManager.getManager(); 21 private HashMap metricsValues; 22 23 public ChartMetricsSelection(Object [] metrics) { 24 setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); 25 fillPanel(metrics); 26 } 27 28 private void fillPanel(Object [] metrics) { 29 for(int i = 0 ; i < metrics.length ; i++) { 30 ReportMetricSpec metricSpec = (ReportMetricSpec) metrics[i]; 31 JCheckBox checkBox = new JCheckBox(metricSpec.getCaption(), metricSpec.getVisible()); 32 checkBox.setFont(new Font("Arial", Font.ROMAN_BASELINE, 11)); 33 checkBox.setName(metricSpec.getName()); 34 checkBox.addItemListener(this); 35 getMetrics().put(metricSpec.getName(), checkBox); 36 add(checkBox); 37 } 38 } 39 40 public void itemStateChanged(ItemEvent e) { 41 Iterator iterator = getMetrics().keySet().iterator(); 42 while(iterator.hasNext()) { 43 JCheckBox box = (JCheckBox) getMetrics().get(iterator.next()); 44 if(e.getSource() == box) { 45 manager.metricStateChanged(box.getName(), box.isSelected()); 46 break; 47 } 48 } 49 } 50 51 private HashMap getMetrics() { 52 if(metricsValues == null) { 53 metricsValues = new HashMap (); 54 } 55 return metricsValues; 56 } 57 } 58 | Popular Tags |