Salve,
ho il seguente codice che inizialmente avvia una finestra JFrame e successivamente un thread.

Obiettivo: Visualizzare finestra con scritto "Ciao" in contemporanea al thread
Problema: la finestra JFRAME è vuota nonostante il thread viene eseguito correttamente.

codice:
JFrame frame = new JFrame();
			
			frame.setTitle("Finestra");
			frame.setPreferredSize(new Dimension(300, 100));
			frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			
			JPanel panel = new JPanel(new GridLayout(2,1));
			frame.add(panel);
			panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
			
			panel.add(new JLabel("Ciao"));
		    
			panel.pack();
			frame.setVisible(true);
		
                        Download download = new Download();
			Thread t1 = new Thread(download);
			
			t1.start();
			
			while (true){
				richiama una classe
				try {
					t1.sleep(3000);
                                        System.out.println("stampa test");
				}
				
				catch (InterruptedException e){
				}
			}
Qual'è il problema?

Grazie