I'm trying to generate a little level (I wouldn't even call it a level) and nothing is showing up. There's nothing in the console, and I already have the textures for it.

Main:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.util.Random;
 
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
 
public class Main extends Applet implements Runnable
{
 
	private static final long serialVersionUID = 1L;
 
	public static JFrame mainFrame;
 
	public static JPanel mainPanel;
 
	public static Random random;
 
	public static boolean isRunning = false;
 
	public static String[] names = {"LootMine : Try Minecraft!", "LootMine : Try Terraria!", "LootMine : Try Team Fortress 2!", "LootMine : Try Garry's Mod!", "LootMine : How about that airline food?", "LootMine : Single player!", "LootMine : Indie games rock!", "LootMine : Celli are cool!"};
 
	public static int mainFrameX = 1000;
	public static int mainFrameY = 800;
 
	public static int pixelSize = 5;
 
	public static int pixelX = mainFrameX / pixelSize;
	public static int pixelY = mainFrameY / pixelSize;
 
	public static Image screen;
 
	public static Level level;
 
	public static Player player;
 
	public static int sX = 0, sY = 0;
 
	public Main()
	{
 
		setPreferredSize(new Dimension(mainFrameX, mainFrameY));
 
	}
 
	public static void main(String args[])
	{
 
		Main main = new Main();
 
		JFrame mainFrame = new JFrame("MainFrame");
 
		mainFrame.add(main);
		mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		mainFrame.setTitle(getRandom(names));
		mainFrame.pack();
		mainFrame.setVisible(true);
		mainFrame.setSize(mainFrameX, mainFrameY);
		mainFrame.setResizable(false);
		mainFrame.setLocationRelativeTo(null);
 
		//mainPanel = new JPanel();
 
		//mainPanel.setPreferredSize(new Dimension(mainFrameX, mainFrameY));
		//mainPanel.setBackground(new Color(0, 200, 200));
		//mainPanel.setVisible(true);
		//mainPanel.setIgnoreRepaint(true);
		//mainFrame.getContentPane().add(mainPanel);
 
		main.start();
 
	}
 
	public void start()
	{
 
		new Tile();
 
		try
		{
 
		level = new Level();
 
		} catch(Exception e)
		{
 
			System.out.println("Could not load level!");
 
		}
 
		isRunning = true;
 
		new Thread(this).start();
 
	}
 
	public void stop()
	{
 
		isRunning = false;
 
	}
 
	public void render()
	{
 
		Graphics g = screen.getGraphics();
 
		g.setColor(new Color(0, 200, 200));
		g.fillRect(0, 0, pixelX, pixelY);
 
		g = getGraphics();
 
		g.drawImage(screen, 0, 0, mainFrameX, mainFrameY, 0, 0, pixelX, pixelY, null);
		g.dispose();
 
		level.render(g);
 
	}
 
	public static void tick()
	{
 
 
 
	}
 
	public void run()
	{
 
		screen = createVolatileImage(pixelX, pixelY);
 
		while(isRunning)
		{
 
			tick();
			render();
 
			try
			{
 
				Thread.sleep(5);
 
			}catch(Exception e)
			{
 
				System.out.println("Tick error! Please restart.");
 
			}
 
		}
 
	}
 
	public static String getRandom(String[] par1StringArray)
	{
 
		random = new Random();
 
		return names[random.nextInt(names.length)];
 
	}
 
	public static String getName(String name)
	{
 
		random = new Random();
 
		return names[random.nextInt(1)];
 
	}
 
}

Level:
import java.awt.*;
 
 
public class Level
{
 
	public Block[][] block = new Block[50][50];
 
	public Level()
	{
 
		block[0][1] = new Block(new Rectangle(0 * Tile.tileSize, 1 * Tile.tileSize, Tile.tileSize, Tile.tileSize), Tile.grass);
 
		generateLevel();
 
	}
 
	public void generateLevel()
	{
 
		block[0][1].blockID = Tile.dirt;	
 
	}
 
	public void tick()
	{
 
 
 
	}
 
	public void render(Graphics g)
	{
 
		block[0][1].render(g);
 
	}
 
}

Block:
import java.awt.Graphics;
import java.awt.Rectangle;
 
public class Block extends Rectangle
{
 
	private static final long serialVersionUID = 1L;
 
	public static int[] blockID = {0, 0};
 
	public Block(Rectangle size, int[] id)
	{
 
		setBounds(size);
 
		this.blockID = id;
 
	}
 
	public void render(Graphics g)
	{
 
		g.drawImage(Tile.tileset_blocks, x - Main.sX, y - Main.sY, x + width - Main.sX, y + height - Main.sY, blockID[0] * Tile.tileSize, blockID[1] * Tile.tileSize, blockID[0] * Tile.tileSize + Tile.tileSize, blockID[1] * Tile.tileSize + Tile.tileSize, null);
 
	}
 
}

Tile:
import java.awt.image.BufferedImage;
import java.io.File;
 
import javax.imageio.ImageIO;
 
 
public class Tile
{
 
	public static int tileSize = 20;
 
	public static int[] air = {-1, -1};
	public static int[] dirt = {0, 0};
	public static int[] grass = {1, 0};
 
	public static int[] player = {0, 0};
 
	public static BufferedImage tileset_blocks;
 
	public Tile()
	{
 
		try
		{
 
			Tile.tileset_blocks = ImageIO.read(new File("res/tileset_blocks.png"));
 
		} catch(Exception e)
		{
 
			System.out.println("Could not load tileset_blocks.png!");
 
		}
 
	}
 
}