Posição dos botoes

1 resposta
ThiagoA

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!!!!

1 Resposta

HelderC

Você tentou reproduzir o que vc quer fazer no NetBeans?
Tente! E veja o código que o NetBeans irá gerar…

Criado 2 de setembro de 2011
Ultima resposta 2 de set. de 2011
Respostas 1
Participantes 2