Ola a todos !!
Estou com dificuldades para posicionar layouts,
gostaria de adicionar um conjunto de botoes em um JDesktopPane
mas os paineis ficam separados e eu gostaria que ficasem um sobre o outro!!
Segue o código e uma imagem do resultado dele!
package jog;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MenuPrincipal extends JFrame {
private static Image img;
private JDesktopPane dp1;
private static JButton botao;
public static void addComponentsToPane(Container pane) {
pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));
addAButton(" Começar ", pane);
addAButton("Como Jogar", pane);
addAButton("Créditos", pane);
addAButton("Sair", pane);
}
private static void addAButton(String text, Container container) {
JButton button = new JButton(text);
button.setAlignmentX(Component.CENTER_ALIGNMENT);
container.add(button);
}
public MenuPrincipal() {
/*Carregando a imagen na variavel "img" como o procedimento de entrada
* e saida de imagens "ImageIO".
*/
try {
img = javax.imageio.ImageIO.read(new java.net.URL(getClass().getResource("pingui_linux.jpg"), "pingui_linux.jpg"));
} catch (Exception e) {
}
dp1 = new JDesktopPane() {
/*Metodo para pintar a imagem no fundo do painel "JDesktopPane"*/
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (img != null) {
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
// g.drawString("Background Carregado com Sucesso!!!", (this.getWidth() / 2), (this.getHeight() / 2));
} else {
g.drawString("Image not found", 50, 50);
}
/* O repaint e o Validade fazem diferença ????
* super.repaint();
*super.validate();
*/
}
};
/*Adicionando eventos na janela descktop*/
addWindowListener(new WindowAdapter() {
public void windowOpened(WindowEvent evt) {
formWindowOpened(evt);
}
});
setTitle("JOG - Jogo da Geometria");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(dp1);
addComponentsToPane(this.getContentPane());
setSize(img.getWidth(null), img.getHeight(null));
setVisible(true);
setSize(800,600);
}
private void formWindowOpened(WindowEvent evt) {
setLocationRelativeTo(null);
setExtendedState(6);
}
public static void main(String[] args) {
new MenuPrincipal();
}
}
[img]http://3.bp.blogspot.com/-PPUQD5Xzn7g/TmES6Nk5ZHI/AAAAAAAAACQ/uw2WG9WV06I/s1600/teste.png[/img]
Obrigado!!!!