[RESOLVIDO] Como alterar tamanho e posição de componentes em tempo de execução?

No Netbeans, criei um JDialog para exibir mensagens aleatórias. Ele possui apenas um JLabel com ícone, um botao e um label para a mensagem. Gostaria de alterar o tamanho desse JDialog e a posição do JButton de acordo com o tamanho do label.

Como faço isso? Já tentei o setLocation (x,y) e o setSize (x,y) no JButton mas não altera nada. Já setei o layout como null antes disso. O Label está alterando o tamanho dinamicamente, mas também não consegui pegar o tamanho dele em pixels.

O JDialog eu até consigo alterar.

Me ajudem pessoal.

ixi to com o mesmo problema, quando eu maxizo a tela, o botão fica no meio da tela, não acompanha a tela ehhe, queria que ele ficasse sempre no canto direito. Acho que tem que pegar o tamanho da tela depois de maximizada mas não consegui =\

Consegui um progresso aqui. Criei um objeto Dimension e conseguir alterar o tamanho do JDialog e JLabel.

Agora é mover o botao e o label para a posição x,y do JDialog.

Como será que faço isso?

Por que você não usa o método pack() no final do seu evento? Isso faz a Janela ajustar o tamanho de acordo com o que estiver nela.
Vê se este exemplo te ajuda:

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Janela extends JFrame implements ActionListener{
	
	JButton btnMensagem;
	JLabel label;
	int mensagemAtual = -1;
	String [] mensagens = { "Flamengo é tricampeão carioca em 2009!"
						   ,"Microsoft resolve tornar Windows Open Source"
						   ,"Governo Federal anuncia redução de carga tributária no país!"
						   ,"Cai o preço do dolar!"
						   ,"Fim da crise econômica mundial!"
						   ,"Acabaram as notícias!"};
	public Janela() {
		super();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		btnMensagem = new JButton("Mensagem");
		label = new JLabel("");
		btnMensagem.addActionListener(this);
		getContentPane().setLayout(new FlowLayout());
		getContentPane().add(btnMensagem);
		getContentPane().add(label);
		pack();
		setVisible(true);
	}
	public void actionPerformed(ActionEvent e) {
		switch (mensagemAtual) {
		case -1:
			mensagemAtual ++;
		default:
			if (mensagemAtual >= mensagens.length) {
				mensagemAtual = -1;
				label.setText("");
			} else {
				label.setText(mensagens[mensagemAtual]);
				mensagemAtual ++;
			}
			break;
		}
		this.pack();
	}
	
	public static void main(String[] args) {
		new Janela();
	}
}

Usar um gerenciador de layouts direito (talvez até o BorderLayout funcione) e definir o tamanho do JDialog com pack() ao invés de Dimension não resolveria seu problema?

e ae geidivan conseguiu? não to conseguindo tb não hehe, mas o meu é um pouco diferente…
eu tenho uma janela principal e um label com a data e a hora atual, quero que essa data fique sempre no canto inferior direito.mas quando eu maximizo ela não acompanha a tela, e acaba ficando no meio =
alguma idéia?

Por que você não adiciona um JToolBar na parte inferior da tua janela e nela coloca um JLabel??

Aí se quizeres que fique do lado direito terá que colocar mais ou menos assim:

Abraços!

vou testar isso e ja posto aqui se deu certo hehe
vlw

O pack() não funciona direito, a tela fica toda desconfigurada.

Consegui mover um botão e o ícone mas um label simplesmente some.

O que você tem que fazer é no construtor do seu Frame o Dialog setar o layout para nulo, assim as modificações vão ser aplicadas.

frame.setLayout(null);

Depois altera as posições dos seus objetos de acordo com as coordenadas x e y:

texto.setLocation ( 100, 100);

Se precisar ajustar de acordo com a sua tela, faz uma regra matemática aí ,tipo, o tamanho da sua tela menos o tamanho do seu componente divido por 2 o colocaria no centro, exemplo:

// Vai deixa o componente sempre no centro horizontal e vertical da tela
texto.setLocation( (tela.getSize().with - texto.getSize().with) / 2, (tela.getSize().heigth - texto.getSize().heigth) / 2 );

Tenta aí.

[quote=ajfilho]Por que você não adiciona um JToolBar na parte inferior da tua janela e nela coloca um JLabel??

Aí se quizeres que fique do lado direito terá que colocar mais ou menos assim:

Abraços![/quote]

não deu certo =. quando eu maximizo ele continua não acompanhando o aumento da tela =\ e essa JToolBar ele pode ‘andar’ com o componente hehehe.

Você está fazendo seu frame na mão né?

Bom, eu usei o editor do netbeans e funcionou, se quizeres te passo o código bem simples para veres funcionando.

Abraços!!

Código para adicionar JToolBar e Jlabel no canto inferior direito

[code]import java.awt.ComponentOrientation;

/**
*

  • @author AJFILHO
    */
    public class TesteLabel extends javax.swing.JFrame {

    public TesteLabel() {
    initComponents();

    }

    @SuppressWarnings(“unchecked”)
    private void initComponents() {

     jToolBar1 = new javax.swing.JToolBar();
     jLabel1 = new javax.swing.JLabel();
    
     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
     jToolBar1.setFloatable(false);
     jToolBar1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
    
     jLabel1.setText("jLabel1");
     jToolBar1.add(jLabel1);
    
     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
     getContentPane().setLayout(layout);
     layout.setHorizontalGroup(
         layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
     );
     layout.setVerticalGroup(
         layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addGroup(layout.createSequentialGroup()
             .addContainerGap(275, Short.MAX_VALUE)
             .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
     );
    
     pack();
    

    }

    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new TesteLabel().setVisible(true);
    }
    });
    }

    private javax.swing.JLabel jLabel1;
    private javax.swing.JToolBar jToolBar1;

}[/code]

Abraços!

[quote=geidivan]O pack() não funciona direito, a tela fica toda desconfigurada.

Consegui mover um botão e o ícone mas um label simplesmente some.

O que você tem que fazer é no construtor do seu Frame o Dialog setar o layout para nulo, assim as modificações vão ser aplicadas.

frame.setLayout(null);

Depois altera as posições dos seus objetos de acordo com as coordenadas x e y:

texto.setLocation ( 100, 100);

Se precisar ajustar de acordo com a sua tela, faz uma regra matemática aí ,tipo, o tamanho da sua tela menos o tamanho do seu componente divido por 2 o colocaria no centro, exemplo:

// Vai deixa o componente sempre no centro horizontal e vertical da tela
texto.setLocation( (tela.getSize().with - texto.getSize().with) / 2, (tela.getSize().heigth - texto.getSize().heigth) / 2 );

Tenta aí.

[/quote]

não deu certo hehe.
vou postar o meu código aqui embaixo pra vc etnender o que eu to fazendo melhor hehe

package Interface;

import iconspanel.IconPanel;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ComponentOrientation;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Date;
import java.util.ResourceBundle;
import java.util.SimpleTimeZone;
import java.util.TimeZone;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToggleButton;
import javax.swing.JToolBar;
import javax.swing.SwingConstants;
import javax.swing.Timer;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EtchedBorder;

import util.AtualizadorHorario;
import util.ClienteUtils;

import com.swtdesigner.SwingResourceManager;

public class Principal extends JFrame {

	private static final long serialVersionUID = 1L;

	private IconPanel iconsPanel;
	private JLabel msgLabel;
	private JMenuBar menuBar;
	private Timer timerLetreiro;
	private JLabel dataHoraLabel;
	
	private static Principal principal;
	
	class ActionListenerLetreiro implements ActionListener {
		public void actionPerformed(ActionEvent e) {  
			if ((msgLabel.getX() + msgLabel.getWidth()) > 1) {
				msgLabel.setLocation(msgLabel.getX() - 1, msgLabel.getY());													
			} else {
				msgLabel.setLocation(getWidth(), msgLabel.getY());
			}
		}  
	}

	private void iniciarLetreiro() {  
		timerLetreiro = new Timer(15, new ActionListenerLetreiro());
		timerLetreiro.start();		
	}

	public static void main(String args[]) {
		SimpleTimeZone timezone = new SimpleTimeZone(-4 * 60 * 60 * 1000, "Brazil/West");
		TimeZone.setDefault(timezone);

		principal = new Principal();
		principal.setVisible(true);
	}

	/**
	 * Create the frame
	 */
	public Principal() {
		super();
		setIconImage(SwingResourceManager.getImage(Principal.class, "/Img/icone2.gif"));
		//setIconImage(SwingResourceManager.getImage(Principal.class, "/resource/images/IconeFaturamento.png"));
		setTitle("Escala - Educação Musical");
		getContentPane().setLayout(new BorderLayout());
		setBounds(100, 100, 800, 600);
		setExtendedState(JFrame.MAXIMIZED_BOTH);
		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				int opt = JOptionPane.showConfirmDialog((Window) e.getSource(), "Confirma sair do sistema?", "Confirmação", JOptionPane.YES_NO_OPTION);
				if (opt == JOptionPane.YES_OPTION) {
					System.exit(0);
				}
			}
			public void windowOpened(final WindowEvent e) {
				
			}

		});

		try {
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		} catch (ClassNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (InstantiationException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (IllegalAccessException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (UnsupportedLookAndFeelException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		setSize(new Dimension(800, 600));
		setLocationRelativeTo(null);

		customInit();

		final JPanel panel = new JPanel();
		panel.setLayout(new GridLayout(1, 0));
		panel.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
		panel.setPreferredSize(new Dimension(0, 40));
		panel.setMaximumSize(new Dimension(0, 40));
		panel.setMinimumSize(new Dimension(0, 40));

		getContentPane().add(panel, BorderLayout.SOUTH);

		final JPanel panel_1 = new JPanel();
		panel_1.setLayout(null);
		panel.add(panel_1);

		msgLabel = new JLabel();
		msgLabel.setFont(new Font("", Font.PLAIN, 14));
		msgLabel.setBounds(562, 18, 226, 18);
		msgLabel.setForeground(new Color(0, 0, 255));
		msgLabel.setText("ESCALA - Educação Musical");
		panel_1.add(msgLabel);

		final JLabel label = new JLabel();
		label.setBounds(0, 0, 40, 18);
		panel_1.add(label);
		label.setForeground(Color.RED);
		label.setText("Usuário:");

		final JLabel administradorLabel = new JLabel();
		administradorLabel.setBounds(45, 0, 94, 18);
		panel_1.add(administradorLabel);
		administradorLabel.setForeground(Color.RED);
		administradorLabel.setText("Administrador");

		dataHoraLabel = new JLabel();
		dataHoraLabel.setBounds(530, -2, 171, 18);
		panel_1.add(dataHoraLabel);
		dataHoraLabel.setHorizontalTextPosition(SwingConstants.RIGHT);
		dataHoraLabel.setHorizontalAlignment(SwingConstants.RIGHT);
		dataHoraLabel.setFont(new Font("", Font.BOLD, 14));

		menuBar = new JMenuBar();
		setJMenuBar(menuBar);

		final JMenu sistemaMenu = new JMenu();
		sistemaMenu.setText("Sistema");
		menuBar.add(sistemaMenu);

		final JMenuItem menuItem = new JMenuItem();
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
			}
		});
		menuItem.setText("Horários de Aula");
		sistemaMenu.add(menuItem);

		sistemaMenu.addSeparator();

		final JMenuItem sairMenuItem = new JMenuItem();
		sairMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				int opt = JOptionPane.showConfirmDialog(null, "Confirma sair do sistema?", "Confirmação", JOptionPane.YES_NO_OPTION);
				if (opt == JOptionPane.YES_OPTION) {
					System.exit(0);
				}
			}
		});
		sairMenuItem.setText("Sair");
		sistemaMenu.add(sairMenuItem);

		final JMenu alunosMenu = new JMenu();
		alunosMenu.setText("Alunos");
		menuBar.add(alunosMenu);

		final JMenuItem cadastrarAlunoMenuItem = new JMenuItem();
		cadastrarAlunoMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				CadastroAlunoSwing tela = new CadastroAlunoSwing();
				tela.setModal(true);
				tela.setResizable(false);
				tela.setVisible(true); 
			}
		});
		cadastrarAlunoMenuItem.setText("Cadastrar Aluno");
		alunosMenu.add(cadastrarAlunoMenuItem);

		final JMenu professoresMenu = new JMenu();
		professoresMenu.setText("Professores");
		menuBar.add(professoresMenu);

		final JMenuItem cadastrarProfessoresMenuItem = new JMenuItem();
		cadastrarProfessoresMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				CadastroProfessorSwing tela = new CadastroProfessorSwing();
				tela.setModal(true);
				tela.setResizable(false);
				tela.setVisible(true);
			}
		});
		cadastrarProfessoresMenuItem.setText("Cadastrar Professor");
		professoresMenu.add(cadastrarProfessoresMenuItem);

		final JMenu financeiroMenu = new JMenu();
		financeiroMenu.setText("Financeiro");
		menuBar.add(financeiroMenu);

		final JMenuItem menuItem_1 = new JMenuItem();
		menuItem_1.setText("???");
		financeiroMenu.add(menuItem_1);

		final JMenu partiturasMenu = new JMenu();
		partiturasMenu.setText("Partituras");
		menuBar.add(partiturasMenu);

		final JMenuItem cadastrarPartituraMenuItem = new JMenuItem();
		cadastrarPartituraMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				CadastroPartituraSwing tela = new CadastroPartituraSwing();
				tela.setModal(true);
				tela.setResizable(false);
				tela.setVisible(true); 
			}
		});
		cadastrarPartituraMenuItem.setText("Cadastrar Partitura");
		partiturasMenu.add(cadastrarPartituraMenuItem);

		final JMenuItem emprestarPartituraMenuItem = new JMenuItem();
		emprestarPartituraMenuItem.setText("Emprestar Partitura");
		partiturasMenu.add(emprestarPartituraMenuItem);

		final JMenuItem buscarPartiturasMenuItem = new JMenuItem();
		buscarPartiturasMenuItem.setText("Buscar Partituras");
		partiturasMenu.add(buscarPartiturasMenuItem);

		final JMenu menu_1 = new JMenu();
		menu_1.setText("Relatórios");
		menuBar.add(menu_1);

		final JMenuItem alunosMenuItem = new JMenuItem();
		alunosMenuItem.setText("Alunos");
		menu_1.add(alunosMenuItem);

		final JMenuItem menuItem_2 = new JMenuItem();
		menuItem_2.setText("Pendências Financeiras de Alunos");
		menu_1.add(menuItem_2);

		final JMenuItem partiturasEmprestadasMenuItem = new JMenuItem();
		partiturasEmprestadasMenuItem.setText("Partituras Emprestadas");
		menu_1.add(partiturasEmprestadasMenuItem);

		mostrarHora();
	}

	private void customInit() {
		// **** Define localização componenetes dos JOptionPane's e FileChooser
		// **** //
		ResourceBundle bundle = ResourceBundle.getBundle("ApplicationResources");
		//UIManager.put("OptionPane.yesButtonText", "Sim");
		UIManager.put("OptionPane.yesButtonText", bundle.getString("Yes"));
		UIManager.put("OptionPane.yesButtonText", bundle.getString("Yes"));
		UIManager.put("OptionPane.noButtonText", bundle.getString("No"));
		UIManager.put("OptionPane.cancelButtonText", bundle.getString("Cancel"));
		UIManager.put("FileChooser.openButtonText", bundle.getString("Open"));
		UIManager.put("FileChooser.cancelButtonText", bundle.getString("Cancel"));
		UIManager.put("FileChooser.title", bundle.getString("Title"));
		UIManager.put("FileChooser.lookInLabelText", bundle.getString("LookInLabelText"));
		UIManager.put("FileChooser.filesOfTypeLabelText", bundle.getString("FilesOfTypeLabelText"));
		UIManager.put("FileChooser.upFolderToolTipText", bundle.getString("UpFolderToolTipText"));
		UIManager.put("FileChooser.fileNameLabelText", bundle.getString("FileNameLabelText"));
		// *************************************************************************

		initIcons();

		setExtendedState(JFrame.MAXIMIZED_BOTH);
		iniciarLetreiro();
	

	}

	private void initIcons() {
		// Applications Icons.
		ImageIcon backImage = new ImageIcon(Principal.class.getResource("/Img/Fundo.jpg"));
		iconsPanel = new IconPanel(backImage);
		iconsPanel.setBackground(Color.WHITE);

		getContentPane().add(iconsPanel, BorderLayout.CENTER);
	}
	
	public void mostrarHora() {   
        AtualizadorHorario ah = new AtualizadorHorario(dataHoraLabel);   
        ah.mostrarData(true);   
        Thread thHora = ah;   
        thHora.start();   
    } 



}

Tenho esse código acima, que é a janela principal de um sisteminha. eu tenho um label chamado dataHoraLabel que eu quero que fique sempre do lado direito inferior, dentro do panel_1, a tela é feita em 800x600, porém quando eu maximizo eu e consequentemente o panel_1 aumenta, o relógio não acompanha indo para o lado direito, ele mantem a posição q era e acaba ficando no meio do label. heheh
e agora ?? huAEhA

Você setou o label com layout null, mas deve setar é o frame.

Logo após o initComponents() no construtor do seu frame coloca:

this.setLayout(null);

Depois tenta movimentar algo.

Há. Cria um novo projeto separado só com a tela e um label para fazer os testes, se funcionar passa para o seu projeto mesmo. É bom para evitar trabalho e remendos no seu código original.

Tenta aí novamente e me avisa.

Consegui =D
criei evento ao dar um resize na janela e alterei a localização do label assim:

addComponentListener(new ComponentAdapter() { public void componentResized(final ComponentEvent e) { dataHoraLabel.setLocation( (panel_1.getSize().width - dataHoraLabel.getSize().width), (0)); //dataHoraLabel.getSize().height-dataHoraLabel.getSize().height } });

funcionou certinho agora hehe

Beleza, aqui também.

Fiz uma tela para mensagem de erro. Eu passo o tipo de mensagem (1 para informação, 2 para erro) e o texto.

A tela e o botao são alinhados de acordo com o tamanho do texto.

package ui;

import javax.swing.ImageIcon;
import javax.swing.JDialog;

public class jMessage extends JDialog {

    public static final int INFORMACAO = 1;
    public static final int ERRO = 2;
   
    /** Creates new form jLogin */
    public jMessage(String text, int type) {                       
        initComponents();
        jL1.setText(text);
        this.setModal(true);                                                
        setType(type);
                     
        this.setLayout(null);
        this.setAlwaysOnTop(true);
        
        // Tamanho dinâmico                
        double textoSize = (6.01 * text.length()) + 4; 
        int iconeSize = 88, botaoSize = 49;
        
        if (textoSize - botaoSize < 0) textoSize = botaoSize;
     
        this.setSize((int) textoSize + iconeSize + 20, 120); 
        jLImg.setBounds(0, 25, iconeSize, 48);
        jL1.setBounds(iconeSize + 1, 25, (int) textoSize, 13);
        //jBOk.setBounds( (int) (iconeSize + (jL1.getSize().getWidth() / 2)), 55, 80, 23);
       
        jBOk.setBounds( this.getSize().width / 2, 55, 80, 23);
        
        // Show
        setLocationRelativeTo(null);  
        this.setVisible(true);                
    }

   @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jL1 = new javax.swing.JLabel();
        jLImg = new javax.swing.JLabel();
        jBOk = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Acesso ao sistema");
        setResizable(false);

        jL1.setFont(new java.awt.Font("Arial", 1, 12)); // NOI18N
        jL1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jL1.setPreferredSize(null);

        jLImg.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLImg.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/informacao.png"))); // NOI18N
        jLImg.setMaximumSize(null);
        jLImg.setMinimumSize(null);
        jLImg.setPreferredSize(null);
        jLImg.setRequestFocusEnabled(false);

        jBOk.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
        jBOk.setText("OK");
        jBOk.setToolTipText("Pesquisa por usuário de acordo com login, código ou nome.");
        jBOk.setIconTextGap(2);
        jBOk.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBOk_OnClick(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jLImg, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(46, 46, 46)
                        .addComponent(jL1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(105, 105, 105)
                        .addComponent(jBOk, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(120, 120, 120))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLImg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jL1, javax.swing.GroupLayout.DEFAULT_SIZE, 11, Short.MAX_VALUE)
                                .addGap(43, 43, 43)))
                        .addGap(25, 25, 25))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jBOk)
                        .addContainerGap())))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void jBOk_OnClick(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBOk_OnClick
   this.dispose();   
}//GEN-LAST:event_jBOk_OnClick
                               
private void setType(int type) {
 
   if (type == 2) {
      this.setTitle("Mensagem de erro");
      jLImg.setIcon(new ImageIcon(getClass().getResource("/images/erro.png")));
   }   
   else {
      this.setTitle("Mensagem de aviso");      
      jLImg.setIcon(new ImageIcon(getClass().getResource("/images/informacao.png")));      
   }
      
}

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jBOk;
    private javax.swing.JLabel jL1;
    private javax.swing.JLabel jLImg;
    // End of variables declaration//GEN-END:variables

}