Salve a tutti, mi sono appena iscritta al forum...Ho un problema...vorrei creare una jframe che abbia un'immagine di sfondo...fin qui nessun problema...A questa finestra vorrei aggiungere dei pulsanti, delle label e cosi' via... Riesco anche ad aggiungere questi componenti ma non me li posiziona nel punto che vorrei, perchè io li vorrei al centro... Forse dovrei aggiungere un altro jPanel e a questo aggiungere i componeti... ma poi mi andrebbe a coprire il jPanel con l'immagine...non so... Di seguito inserisco il codice utilizzato...Grazie anticipatamente se qualcuno mi aiuta...
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridBagConstraints;
import java.awt.Image;
import java.awt.Insets;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import quicktime.qd.GDevice;
public class Home {
	@SuppressWarnings("deprecation")
	
	public static void main(String[] args) {
	
		Finestra finestra = new Finestra();
		finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		finestra.show();
	}
}
class Finestra extends JFrame{
	private static final long serialVersionUID = -5303040173658951059L;
	private JLabel intestatario = null;
	private JLabel via = null;
	private JLabel comune = null;
	private JLabel partitaIva = null;
	
	public Finestra(){
		setTitle("Home");
		setSize(825, 550);
		PannelloImmagini pannelloImmagini = new PannelloImmagini();
		Container contentPane = getContentPane();
		//Label Intestatario
		GridBagConstraints gridBagConstraints = new GridBagConstraints();
		gridBagConstraints.gridx = 1;
		gridBagConstraints.insets = new Insets(-350, 0, 0, 0);
		gridBagConstraints.gridy = 0;
		intestatario = new JLabel();
		intestatario.setText("Prova");
		intestatario.setForeground(new Color(255, 0, 51));
		intestatario.setFont(new Font("Brush Script MT", Font.PLAIN, 38));
		//Label Via
		GridBagConstraints gridBagConstraints11 = new GridBagConstraints();
		gridBagConstraints11.gridx = 1;
		gridBagConstraints11.gridy = 1;
		gridBagConstraints11.insets = new Insets(-270, 0, 0, 0);
		via = new JLabel();
		via.setLocation(200, 100);
		via.setText("Prova");
		via.setForeground(new Color(0, 102, 102));
		via.setFont(new Font("Brush Script MT", Font.PLAIN, 30));
		// Label Comune
		GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
		gridBagConstraints2.gridx = 1;
		gridBagConstraints2.gridy = 2;
		gridBagConstraints2.insets = new Insets(-195, 0, 0, 0);
		comune = new JLabel();
		comune.setText("Prova");
		comune.setForeground(new Color(0, 102, 102));
		comune.setFont(new Font("Brush Script MT", Font.PLAIN, 30));
		// Label P.Iva
		GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
		gridBagConstraints3.gridx = 1;
		gridBagConstraints3.gridy = 3;
		gridBagConstraints3.insets = new Insets(-120, 0, 0, 0);
		partitaIva = new JLabel();
		partitaIva.setText("Prova");
		partitaIva.setForeground(new Color(0, 102, 102));
		partitaIva.setFont(new Font("Brush Script MT", Font.PLAIN, 28));
		pannelloImmagini.add(intestatario);
		pannelloImmagini.add(via);
		pannelloImmagini.add(comune, gridBagConstraints2);
		pannelloImmagini.add(partitaIva, gridBagConstraints3);
		getContentPane().add(pannelloImmagini);
	}
	
}
class PannelloImmagini extends JPanel{
	
	private static final long serialVersionUID = 6679038779869120082L;
	private Image image;
	public PannelloImmagini(){
		
		try {
			image = ImageIO.read(new File ("./DSC00331.gif"));
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}
	
	public void paintComponent(Graphics g){
		
		super.paintComponent(g);
		if (image==null)
			return;
		
		//Disegno l'immagine dall'angolo superiore sinistro
		
		g.drawImage(image,0,0,null);
		
	}
	
}