JFrame, JPanel, JLabel issues

I seem to be having some issues. The main class, Main.java, loads the JPanel from World.java, which loads JLabels from Ineo.java. SO far, the only thing that works is Main.java when it opens a new window. The JPanel isn’t being added to the JFrame for some reason, as I’m getting a blank window which should at least be black due to the background color, if the JPanel was being added to the JFrame.

Main.java

package poquest;

import javax.swing.JFrame;

public class Main extends JFrame {
	private static final long serialVersionUID = 1L;
	
	int w = 32*40;
	int h = 32*25;
	
	static JFrame jf;
	
	public Main(){
		setTitle("PoQuest");
		setSize(w, h);
		setVisible(true);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		
		add(World.jp);
	}
	
	public static void main(String[] args) {
		new Main();
	}
}

World.java

package poquest;

import java.awt.Color;
import java.awt.GridLayout;

import javax.swing.JPanel;

import poquest.world.Ineo;

public class World extends JPanel {
	private static final long serialVersionUID = 1L;
	
	public static JPanel jp = new JPanel();
	
	public World() {
		jp.setLayout(new GridLayout(Ineo.gridW, Ineo.gridH));
		jp.setBackground(Color.BLACK);
		
		for (int i = 0; i < Ineo.jlNum; i++) jp.add(Ineo.jl[i]);
	}
}

Ineo.java

package poquest.world;

import javax.swing.JLabel;

//import poquest.world.Tiles;

public class Ineo {
	public static JLabel jl[];
	
	public static int gridW = 2;
	public static int gridH = 2;
	
	public static int jlNum = 4;
	
	public Ineo() {
		jl[1] = new JLabel("flower1");
		jl[2] = new JLabel("flower2");
		jl[3] = new JLabel("flower3");
		jl[4] = new JLabel("treeTiny");
	}
}