public JComponent asJComponent()
		{
			this.initialize();
			
			JPanel elementPanel = new JPanel(new GridBagLayout());
			elementPanel.setBackground(Color.WHITE);
			GridBagConstraints c = new GridBagConstraints();
			c.insets = new Insets(PADDING, PADDING, PADDING, PADDING);
			c.anchor = GridBagConstraints.WEST;
			c.fill = GridBagConstraints.BOTH;
			c.weightx = 0.25;
			c.weighty = 0.25;
			
			ImageIcon enabledIcon = new ImageIcon(_elementImage);
			_elementImageButton.setIcon(enabledIcon);
			
			if(this.isClickable())
			{
				ImageIcon disabledIcon = new ImageIcon(_disabledImage);
				_elementImageButton.setDisabledIcon(disabledIcon);
			} else {

				_elementImageButton.setDisabledIcon(enabledIcon);
			}

			_elementImageButton.setEnabled(this.isEnabled());
			_elementImageButton.setOpaque(false);
			_elementImageButton.setMargin(new Insets(0, 0, 0, 0));
			_elementImageButton.setContentAreaFilled(false);
			_elementImageButton.setBorderPainted(false);
			_elementImageButton.setActionCommand(this.getElementType().toString());
			_elementImageButton.addActionListener(actionListener);
			
			c.gridx = 0;
			c.gridy = 0;
			c.gridwidth = 1;
			c.gridheight = 1;
//			c.insets = new Insets(0, 0, 0, 0);
			elementPanel.add(_elementImageButton, c);
			
			c.gridx = 1;
			c.gridy = 0;
			c.gridwidth = 1;
			c.gridheight = 1;
//			c.insets = new Insets(0, 0, 0, 0);
    			
			if(_elementCount >= 0) {
    			_elementCountLabel = new JLabel(""+_elementCount, JLabel.LEFT);
    			FontUtils.setFont(_elementCountLabel, LABEL_FONT_SIZE);
    			elementPanel.add(_elementCountLabel, c);
			} else {
				JLabel label = new JLabel();
				FontUtils.setFont(label, LABEL_FONT_SIZE);
    			elementPanel.add(label, c);
			}
			
			_resourceElementPanel.setBackground(Color.WHITE);
			_resourceElementPanel.add(elementPanel);
			
			return _resourceElementPanel;
		}