public void paintComponent(Graphics g1d)
		{
			Graphics2D g = (Graphics2D)g1d; 
			super.paintComponent(g);
			FontMetrics metricst = g.getFontMetrics(titleFont);
			if(metricst.stringWidth(name.getText()) > 300)
			{
				titleFont = titleFont.deriveFont((float)(titleFont.getSize() - 1));
				name.setFont(titleFont);
				metricst = g.getFontMetrics(titleFont);
			}
			if(metricst.stringWidth(name.getText()) < 285 && titleFont.getSize() < 30)
			{
				titleFont = titleFont.deriveFont((float)(titleFont.getSize() + 1));
				name.setFont(titleFont);
				metricst = g.getFontMetrics(titleFont);
			}
			g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
			try {
				g.drawImage(card.getBgImage(), 0, 0, null);
			} catch (Exception e) {
			}
			try {
				g.drawImage(card.getPowerTypeImage(), 0, 0, null);
			} catch (Exception e) {
			}
			try {
				g.drawImage(card.getTierImage(), 0, 0, null);
			} catch (Exception e) {
			}
			try {
				g.drawImage(card.getActionTypeImage(), 21, 51, null);
			} catch (Exception e) {
			}
			try {
				g.drawImage(card.getAttackTypeImage(), 296, 428, null);
			} catch (Exception e) {
			}
			try {
//				g.drawImage(ImageIO.read(new File("img/magic-missile.jpg")), 0, 0, null);
				g.setFont(font.deriveFont(Font.BOLD, 20.0f));
			} catch (Exception e) {
			}
			g.setColor(new Color(95, 8, 14));
			try {
				g.setFont(font.deriveFont(Font.BOLD));
				g.drawString(card.getPowerType(), 85, 105);
			} catch(Exception e){
			}
			FontMetrics metrics = g.getFontMetrics(font.deriveFont(20.0f));
			FontMetrics metricsb = g.getFontMetrics(font.deriveFont(Font.BOLD, 20.0f));
			try {
				g.drawImage(ImageIO.read(new File("img/dot.png")).getScaledInstance(15, 15, Image.SCALE_SMOOTH), 95 + metrics.stringWidth(card.getPowerType()), 90, null);
				keywords.setBounds(110 + metrics.stringWidth(card.getPowerType()), 88, 375 - (100 + metrics.stringWidth(card.getPowerType())), 20);
			} catch (Exception e) {
				try {
					g.drawImage(ImageIO.read(new File("img/dot.png")).getScaledInstance(15, 15, Image.SCALE_SMOOTH), 95, 90, null);
				} catch (IOException e1) {
				}
				keywords.setBounds(110, 88, 375 - 100, 20);
			}
			g.setColor(Color.BLACK);
			try {
				g.drawString(card.getActionType(), 10, 135);
			} catch(Exception e){
			}
			try {
				if(card.getAttackType().equals("Ranged") || card.getAttackType().equals("Close Burst"))
				{
					g.setFont(font.deriveFont(Font.BOLD));
					g.drawString(card.getAttackType(), 330 - metricsb.stringWidth(card.getAttackType()), 135);
					g.setFont(font);
					attackTypeParameter1.setBounds(332, 118, 40, 20);
					attackTypeParameter2.setBounds(0, 0, 0, 0);
				}
				else if (card.getAttackType().equals("Area"))
				{
					g.setFont(font.deriveFont(Font.BOLD));
					g.drawString(card.getAttackType() + " ", 330 - metricsb.stringWidth(card.getAttackType() + "burst"), 135);
					g.setFont(font);
					g.drawString("burst", 330 - metrics.stringWidth("burst"), 135);
					attackTypeParameter1.setBounds(332, 118, 40, 20);
					g.drawString("within", 330 - metrics.stringWidth("within squares"), 155);
					attackTypeParameter2.setBounds(332 - metrics.stringWidth("squares"), 138, 40, 20);
					g.drawString("squares", 370 - metrics.stringWidth("squares"), 155);
				}
				else
				{
					g.setFont(font.deriveFont(Font.BOLD));
					g.drawString(card.getAttackType(), 360 - metricsb.stringWidth(card.getAttackType()), 135);
					g.setFont(font);
					attackTypeParameter1.setBounds(0, 0, 0, 0);
					attackTypeParameter2.setBounds(0, 0, 0, 0);
				}
			} catch(Exception e){
			}
			try {
				g.setFont(font);
				g.setColor(new Color(239, 237, 217));
				g.drawString(card.getClasss(), 10, 505);
			} catch(Exception e)
			{
			}
			try {
				typeLevel.setBounds(15 + metrics.stringWidth(card.getClasss()), 490, 300 - metrics.stringWidth(card.getClasss()), 20);
			} catch(Exception e)
			{
			}
			flavor.setBounds(10, 400, 285, 60);
			newParam.setBounds(10, 140 + body.toArray().length * 50, 50, 20);
			delParam.setBounds(65, 140 + body.toArray().length * 50, 50, 20);
			g.setFont(font.deriveFont(Font.BOLD, 15.0f));
			g.setColor(Color.BLACK);
			for(int i = 0; i < body.toArray().length; i++)
			{
				g.drawString(":", 110, 158 + 50 * i);
			}
		}