Package vg.userInterface.attributePanel.components

Source Code of vg.userInterface.attributePanel.components.FirstColumnActionListener

package vg.userInterface.attributePanel.components;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;

import vg.userInterface.attributePanel.components.data.AttributeShower;
import vg.userInterface.attributePanel.components.data.AttributeValue;


public class AttributeTableCellRenderer implements TableCellRenderer {
  public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();

  public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
    switch(column) {
      case 0:
      {
        JCheckBox checkBox = new JCheckBox();
        AttributeShower shower = (AttributeShower)table.getValueAt(row, 0);
        checkBox.setBackground(shower.getColor());
        checkBox.setSelected(shower.isShow());
        checkBox.addActionListener(new FirstColumnActionListener(shower));
        return(checkBox);
      }
      case 2:
      {
        AttributeValue v = (AttributeValue)table.getValueAt(row, 2);
        List<String>lv = v.getData();
        JComponent component;
        if(lv.size()==1) {
          Object obj = lv.get(0);
          component = new JLabel((String)obj);
        } else {
          component = new JComboBox();
          for(Object buf : lv) {
            ((JComboBox)component).addItem((String)buf);
          }
        }
        return(component);
      }
    }
    return(null);
  }
}
/**
* Action listener for first column(show or unshow attribute).
* @author tzolotuhin
*/
class FirstColumnActionListener implements ActionListener {
  private final AttributeShower shower;
  /**
   * Constructor.
   */
  public FirstColumnActionListener(final AttributeShower shower) {
    this.shower = shower;
  }
  /**
   * Action
   */
  public void actionPerformed(ActionEvent e) {
    JCheckBox checkBox = (JCheckBox)e.getSource();
    if(checkBox.isSelected()) {
      shower.show();
    } else {
      shower.unshow();
    }
  }
}
TOP

Related Classes of vg.userInterface.attributePanel.components.FirstColumnActionListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.