Warum wird das JLabel nicht angezeigt?

Ich möchte, damit es später nicht so viel auf einmal wird die verschiedenen Bestandteile des JFrames in mehrer Klassen schreiben. In diesem Fall habe ich ein Jframe, in dem ein JPanel geladen wird, in dem ein JLabel ist. Wenn ich das Programm allerdings ausführe, wird das JLabel nicht angezeigt.

Bilder: https://drive.google.com/drive/folders/1CoH93gGGE0h0hOfwpI5dMur3USVmz4sz?usp=sharing

Hier mal die Klassen:

Main.java

import javax.swing.JFrame;

public class Main {

	public static void main(String[] args) {
		JFrame frame = new DiyLoopFrame();
	}
}

DiyLoopFrame.java (das JFrame)

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class DiyLoopFrame extends JFrame {
	
	//constructor
	public DiyLoopFrame() {
		setSize(880, 650);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null); 
		setTitle("DiyLoop");
		setResizable(false);
		setLayout(null);
		JPanel fc = new FrameControls();
		
		//components
		add(fc); //add FrameControls
		addKeyListener(new KeyHandler()); //get Keys
		
		//loading complete!
		setFocusable(true); //set focus to jframe
		setVisible(true); //make visible
	}
}

FrameControls.java (das JPanel)

import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class FrameControls extends JPanel {
	
	private JLabel label_schriftart;
	private JLabel label_clickoptions;
	
	public FrameControls() {
		//add components
		initComponents();
		add(label_clickoptions);
		
		//loading complete!
		setVisible(true);
	}
	
	private void initComponents() {
		//schriftart
		label_schriftart = new JLabel("");
		Font schriftart = (label_schriftart.getFont().deriveFont(Font.BOLD, 15));
		
		//label clickoptions
		label_clickoptions = new JLabel("click options");
		label_clickoptions.setFont(schriftart);
		label_clickoptions.setBounds(5, 5, 500, 11);
	}
}

.

Computer, Technik, java programmieren, Python, Swing, eclispe, progrmaming
3 Antworten