public ShipUnlockPanel( FTLFrame frame ) {
		this.setLayout( new BoxLayout(this, BoxLayout.Y_AXIS) );
		this.frame = frame;

		log.trace( "Creating Ship Unlock panel" );

		log.trace("Adding ship unlocks");

		JPanel shipPanel = new JPanel();
		shipPanel.setLayout( new GridLayout(0, 3) );
		shipPanel.setBorder( BorderFactory.createTitledBorder("Ship Unlocks") );
		this.add( shipPanel );

		for ( ShipBlueprint ship : DataManager.get().getPlayerShips() ) {
			JCheckBox shipBox = new JCheckBox( ship.getShipClass() );
			frame.setCheckboxIcons(shipBox, "img/ship/" + ship.getImg() + "_base.png");
			shipBoxes.add(shipBox);
			shipPanel.add(shipBox);
		}

		log.trace("Adding ship achievements");

		JPanel shipAchPanel = new JPanel();
		shipAchPanel.setLayout( new GridLayout(0, 3) );
		shipAchPanel.setBorder( BorderFactory.createTitledBorder("Ship Achievements") );
		this.add( shipAchPanel );

		for ( ShipBlueprint ship : DataManager.get().getPlayerShips() )
			shipAchPanel.add( createShipPanel( ship ) );
	}