setBackground(Color.black); setPreferredSize(new Dimension(0, 20)); setMinimumSize(new Dimension(0, 20));
this.setBackground(Color.black); this.setPreferredSize(new Dimension(0, 20)); this.setMinimumSize(new Dimension(0, 20));
      public AttributeSpacing(Attribute a, int aind) {	m_attrib = a;	m_attribIndex = aind;	setBackground(Color.black);	setPreferredSize(new Dimension(0, 20));	setMinimumSize(new Dimension(0, 20));	m_cached = new int[m_plotInstances.numInstances()];	//m_pointDrawn = new int[getWidth()][20];	//setBorder(BorderFactory.createEtchedBorder());		//this will only get allocated if m_plotInstances != null	//this is used to determine the min and max values for plotting	double min=Double.POSITIVE_INFINITY;	double max=Double.NEGATIVE_INFINITY;	double value;	if (m_plotInstances.attribute(m_attribIndex).isNominal()) {	  m_minVal = 0;	  m_maxVal = m_plotInstances.attribute(m_attribIndex).numValues()-1;	} else {	  for (int i=0;i<m_plotInstances.numInstances();i++) {	    if (!m_plotInstances.instance(i).isMissing(m_attribIndex)) {	      value = m_plotInstances.instance(i).value(m_attribIndex);	      if (value < min) {		min = value;	      }	      if (value > max) {		max = value;	      }	    }	  }	  m_minVal = min; m_maxVal = max;	  if (min == max) {	    m_maxVal += 0.05;	    m_minVal -= 0.05;	  }	}		addMouseListener(new MouseAdapter() {	    public void mouseClicked(MouseEvent e) {	      if ((e.getModifiers() & e.BUTTON1_MASK) == e.BUTTON1_MASK) {		//then put this on the x axis		//for best propagation I will go straight to the m combo		//and set its value directly this, 		//will then propogate through the		//panels				m_XCombo.setSelectedIndex(m_attribIndex);	      }	      else {		//put it on the y axis		m_YCombo.setSelectedIndex(m_attribIndex);	      }	    }	  });      }