Estou tentando criar um layout responsivo com três imagens:
###Classe 1
package gui;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
public class FundoTela extends JDesktopPane{
private Image imagem;
public FundoTela(String imagem){
this.imagem = new ImageIcon(imagem).getImage();
}
public void paintComponent (Graphics g){
g.drawImage(imagem, 0, 0, 300, 100, this);
}
}
###Classe 2
package gui;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
public class MenuLat extends JDesktopPane {
private Image imagem;
public MenuLat(String imagem){
this.imagem = new ImageIcon(imagem).getImage();
}
public void paintComponent (Graphics g){
g.drawImage(imagem, 0, 100, 300, (getHeight()), this);
}
a classe 3 segue o mesmo padrão
###JFrame
package gui;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.border.Border;
public class Teste extends javax.swing.JFrame
{
FundoTela tela;
MenuLat tela2;
SegundoTop tela3;
public Teste()
{
initComponents();
Border border = BorderFactory.createLineBorder(Color.BLUE, 1);
Insets in = Toolkit.getDefaultToolkit()
.getScreenInsets(this.getGraphicsConfiguration());
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int width = d.width - (in.left + in.top);
int height = d.height - (in.top + in.bottom);
setSize(width, height);
setLocation(in.left, in.top);
setLayout(new GridBagLayout());
tela = new FundoTela("src/gui/topo.png");
tela2 = new MenuLat("src/gui/menu_lat.png");
tela3 = new SegundoTop("src/gui/topo_1.png");
getContentPane().add(tela);
getContentPane().add(tela2);
getContentPane().add(tela3);
}
}
porém não consigo de forma alguma alinhar as imagens, fica tudo errado, o que estou fazendo de errado?