Ajuda com posicao e tamnho dos componentes usando miglayout

Boa arde pessoal,
eu preciso de uma ajuda com o miglayout, tenho uma interface em swing que fiz na mao usando nulllayout e preciso mudar-lo para usar o mig layout porem ja li a documentacao e nao entendi nada daquel negocio de strings. algume pode me dar uma luz segue a baixo o codigo com null layout que preciso modificar para o miglayout.

package br.com.gstok.principal;

// <editor-fold defaultstate="collapsed" desc="Importações">
import br.com.gstok.utilidades.Funcoes;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.util.Arrays;
import javax.swing.*;
import javax.swing.border.LineBorder;
// </editor-fold>

/**
 * Esta é uma classe responsável por criar a tela de login do sistema.
 */
public class LoginGUI extends JDialog {

    private static final long serialVersionUID = 1L;
    private JLabel lbTitulo;
    private JLabel lbImagem;
    private JLabel lbMatricula;
    private JLabel lbSenha;
    private JTextField tfMatricula;
    private JPasswordField pfSenha;
    private JButton btEntrar;
    private JButton btSair;
    private PrincipalGUI principal;
    private int tentativa;

    /**
     * Cria o formulário LoginGUI.
     */
    public LoginGUI() {

        iniciarComponentes();
        definirEventos();
    }

    /**
     * Este método inicializa os componentes do formulário.
     */
    private void iniciarComponentes() {

        this.setPreferredSize(new Dimension(329, 217));
        this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        this.setTitle("GstoK - Validação de Acesso");
        this.setResizable(false);
        this.setModal(true);
        this.setIconImage(getToolkit().getImage(this.getClass().getResource("/br/com/gstok/imagens/gstok.png")));
        this.getContentPane().setLayout(null);

        lbTitulo = new JLabel();
        lbTitulo.setText("GstoK - Gestão Comercial");
        lbTitulo.setForeground(new Color(255, 0, 0));
        lbTitulo.setFont(new Font("Lucida Sans", 0, 21));
        lbTitulo.setHorizontalAlignment(SwingConstants.CENTER);
        lbTitulo.setHorizontalTextPosition(SwingConstants.CENTER);
        lbTitulo.setVerticalAlignment(SwingConstants.CENTER);
        lbTitulo.setVerticalTextPosition(SwingConstants.CENTER);
        lbTitulo.setBounds(12, 12, 305, 28);
        this.getContentPane().add(lbTitulo);

        lbImagem = new JLabel();
        lbImagem.setIcon(new ImageIcon(getClass().getResource("/br/com/gstok/imagens/login.png")));
        lbImagem.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));
        lbImagem.setHorizontalAlignment(SwingConstants.CENTER);
        lbImagem.setVerticalAlignment(SwingConstants.CENTER);
        lbImagem.setBounds(12, 46, 130, 122);
        this.getContentPane().add(lbImagem);

        lbMatricula = new JLabel();
        lbMatricula.setText("Matrícula");
        lbMatricula.setForeground(new Color(0, 0, 255));
        lbMatricula.setFont(new Font("Lucida Sans", 1, 13));
        lbMatricula.setHorizontalAlignment(SwingConstants.CENTER);
        lbMatricula.setHorizontalTextPosition(SwingConstants.CENTER);
        lbMatricula.setVerticalAlignment(SwingConstants.CENTER);
        lbMatricula.setVerticalTextPosition(SwingConstants.CENTER);
        lbMatricula.setBounds(154, 46, 163, 19);
        this.getContentPane().add(lbMatricula);

        tfMatricula = new JTextField();
        tfMatricula.setBackground(new Color(255, 255, 255));
        tfMatricula.setForeground(new Color(0, 0, 0));
        tfMatricula.setFont(new Font("Lucida Sans", 0, 13));
        tfMatricula.setToolTipText("Digite sua matrícula");
        tfMatricula.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));
        tfMatricula.setHorizontalAlignment(JTextField.CENTER);
        tfMatricula.requestFocus();
        tfMatricula.setBounds(154, 71, 163, 21);
        this.getContentPane().add(tfMatricula);

        lbSenha = new JLabel();
        lbSenha.setText("Senha");
        lbSenha.setForeground(new Color(0, 0, 255));
        lbSenha.setFont(new Font("Lucida Sans", 1, 13));
        lbSenha.setHorizontalAlignment(SwingConstants.CENTER);
        lbSenha.setHorizontalTextPosition(SwingConstants.CENTER);
        lbSenha.setVerticalAlignment(SwingConstants.CENTER);
        lbSenha.setVerticalTextPosition(SwingConstants.CENTER);
        lbSenha.setBounds(154, 98, 163, 19);
        this.getContentPane().add(lbSenha);

        pfSenha = new JPasswordField();
        pfSenha.setBackground(new Color(255, 255, 255));
        pfSenha.setForeground(new Color(0, 0, 0));
        pfSenha.setFont(new Font("Lucida Sans", 0, 13));
        pfSenha.setToolTipText("Digite sua senha");
        pfSenha.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));
        pfSenha.setEchoChar('*');
        pfSenha.setHorizontalAlignment(JPasswordField.CENTER);
        pfSenha.setBounds(154, 123, 163, 21);
        this.getContentPane().add(pfSenha);

        btSair = new JButton();
        btSair.setFont(new Font("Lucida Sans", 1, 13));
        btSair.setForeground(new Color(255, 0, 0));
        btSair.setText("Sair");
        btSair.setToolTipText("Fecha a tela de login");
        btSair.setMnemonic('S');
        btSair.setIcon(new ImageIcon(getClass().getResource("/br/com/gstok/imagens/sair.png")));
        btSair.setHorizontalAlignment(SwingConstants.CENTER);
        btSair.setHorizontalTextPosition(SwingConstants.RIGHT);
        btSair.setVerticalAlignment(SwingConstants.CENTER);
        btSair.setVerticalTextPosition(SwingConstants.CENTER);
        btSair.setBounds(12, 174, 130, 31);
        this.getContentPane().add(btSair);

        btEntrar = new JButton();
        btEntrar.setFont(new Font("Lucida Sans", 1, 13));
        btEntrar.setForeground(new Color(22, 103, 22));
        btEntrar.setText("Entrar");
        btEntrar.setToolTipText("Valida o login e entra no sistema");
        btEntrar.setMnemonic('E');
        btEntrar.setIcon(new ImageIcon(getClass().getResource("/br/com/gstok/imagens/entrar.png")));
        btEntrar.setHorizontalAlignment(SwingConstants.CENTER);
        btEntrar.setHorizontalTextPosition(SwingConstants.RIGHT);
        btEntrar.setVerticalAlignment(SwingConstants.CENTER);
        btEntrar.setVerticalTextPosition(SwingConstants.CENTER);
        btEntrar.setBounds(154, 174, 163, 31);
        this.getContentPane().add(btEntrar);

        tentativa = 1;

        this.pack();
    }

    /**
     * Este método define os eventos do formulário.
     */
    private void definirEventos() {

        pfSenha.addFocusListener(new FocusAdapter() {
            @Override
            public void focusLost(FocusEvent e) {

                btEntrar.requestFocus();
            }
        });

        btEntrar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                validaLogin();
            }
        });

        btSair.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                sair();
            }
        });
    }

    /**
     * Este método faz a validação do login. Se o login for válido abre a tela
     * principal, senão, verifica o número de tentativas permitidas. Caso o
     * número de tentativas esteja fora do permitido faz um bloqueio por tempo.
     */
    private void validaLogin() {

        String matricula = tfMatricula.getText();
        char[] senha = pfSenha.getPassword();

        String mat = "admin";
        char[] sen = {'a', 'd', 'm', 'i', 'n'};

        if (matricula.equals(mat) && Arrays.equals(senha, sen)) {

            principal = new PrincipalGUI();
            principal.setVisible(true);
            principal.setLocationRelativeTo(null);
            dispose();
        } else {

            if (tentativa < 4) {

                JOptionPane.showMessageDialog(this, "A matrícula e/ou senha são inválidos!\nTente novamente.", "Erro de Acesso", JOptionPane.INFORMATION_MESSAGE, null);
                tentativa++;
            } else {

                JOptionPane.showMessageDialog(this, "A matrícula e/ou senha foram digitados incorretamente três vezes.\nSeu acesso foi bloqueado"
                        + " pelo próximos 15 minutos.", "Erro de Acesso", JOptionPane.INFORMATION_MESSAGE, null);
            }

        }

    }

    private void sair() {

        Funcoes.sair();
    }
}

miglayout é fácil
é só você imaginar que se está construindo uma grade da esquerda pra direita
imaginamos que você quer o seguinte formulário

Label 1: |TextField1|
Label 2: |TextField2|
Label 3: |TextField3|

seria algo do tipo

[code]
panel.add(new JLabel(“Label 1:”));
panel.add(textField1, “wrap”);

panel.add(new JLabel(“Label 2:”));
panel.add(textField2, “wrap”);

panel.add(new JLabel(“Label 3:”));
panel.add(textField3, “wrap”);[/code]

wrap: quebra de linha

agora imaginamos que queremos fazer com que os campos de texto tenham um tamanho de 150px, seria algo do tipo:

[code]
panel.add(new JLabel(“Label 1:”));
panel.add(textField1, “wrap, w :150:”);

panel.add(new JLabel(“Label 2:”));
panel.add(textField2, “wrap, growx”);

panel.add(new JLabel(“Label 3:”));
panel.add(textField3, “wrap, growx”);[/code]

w ou width: determina a largura do componente, sintaxe w min:pref:max, onde min = tamanho minimo, pref = tamanho preferivel, max = tamanho maxímo. No exemplo acima só queremos o tamanho preferivel
growx: redimenciona os componentes subsequentes a primeira ocorrencia de um w ou width

A altura seira algo semelhante a largura, sendo assim:
h ou height e growy

ainda tem agrupamento, espaçamento etc

Fiz umas modificações porem ta todo bagunçado: não ficou igual a quando eu tava usando null layout. axo que to erradao no lbImagem.
segue o codigo:


// <editor-fold defaultstate="collapsed" desc="Importações">
import br.edu.utfpr.cm.tsi.pi.syshotel.utilidades.Funcoes;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import net.miginfocom.swing.MigLayout;
// </editor-fold>

/**
 *
 * Esta classe é responsável por criar a tela de login do sistema.
 */
public class LoginGUI extends JDialog {

    private JLabel lbTitulo;
    private JLabel lbImagem;
    private JLabel lbMatricula;
    private JLabel lbSenha;
    private JTextField tfMatricula;
    private JPasswordField pfSenha;
    private JButton btEntrar;
    private JButton btSair;
    private int tentativa;

    /**
     * Método construtor que cria o formulário.
     */
    public LoginGUI() {

        iniciarComponentes();
        definirEventos();
    }

    // <editor-fold defaultstate="collapsed" desc="Iniciar componentes">
    /**
     * Este método inicializa os componentes do formulário.
     */
    private void iniciarComponentes() {

        this.setPreferredSize(new Dimension(329, 217));
        this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        this.setTitle("Validação de Acesso");
        this.setResizable(false);
        this.setModal(true);
        //     this.setIconImage(getToolkit().getImage(this.getClass().getResource("/br/edu/utfpr/cm/tsi/pi/syshotel/imagens/syshotel.png")));
        this.setLayout(new MigLayout());

        lbTitulo = new JLabel();
        lbTitulo.setText("Validação de Acesso");
        lbTitulo.setForeground(new Color(255, 0, 0));
        lbTitulo.setFont(new Font("Lucida Sans", 0, 21));
        lbTitulo.setHorizontalAlignment(SwingConstants.CENTER);
        lbTitulo.setHorizontalTextPosition(SwingConstants.CENTER);
        lbTitulo.setVerticalAlignment(SwingConstants.CENTER);
        lbTitulo.setVerticalTextPosition(SwingConstants.CENTER);
//        lbTitulo.setBounds(12, 12, 305, 28);
//        this.getContentPane().add(lbTitulo, new AbsoluteConstraints(12, 12, 305, 28));
        this.add(lbTitulo, "wrap, w :305:, h :28:, dock north");


        lbImagem = new JLabel();
        lbImagem.setIcon(new ImageIcon(getClass().getResource("/br/edu/utfpr/cm/tsi/pi/syshotel/imagens/login.png")));
        lbImagem.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));
        lbImagem.setHorizontalAlignment(SwingConstants.CENTER);
        lbImagem.setVerticalAlignment(SwingConstants.CENTER);
//        lbImagem.setBounds(12, 46, 130, 122);
//        this.getContentPane().add(lbImagem, new AbsoluteConstraints(12, 46, 130, 122));
        this.add(lbImagem, "w :130:, h :122:");

        lbMatricula = new JLabel();
        lbMatricula.setText("Matrícula");
        lbMatricula.setForeground(new Color(0, 0, 255));
        lbMatricula.setFont(new Font("Lucida Sans", 1, 13));
        lbMatricula.setHorizontalAlignment(SwingConstants.CENTER);
        lbMatricula.setHorizontalTextPosition(SwingConstants.CENTER);
        lbMatricula.setVerticalAlignment(SwingConstants.CENTER);
        lbMatricula.setVerticalTextPosition(SwingConstants.CENTER);
//        lbMatricula.setBounds(154, 46, 163, 19);
//        this.getContentPane().add(lbMatricula, new AbsoluteConstraints(154, 46, 163, 19));
        this.add(lbMatricula, "w :163:, h :19:");

        tfMatricula = new JTextField();
        tfMatricula.setBackground(new Color(255, 255, 255));
        tfMatricula.setForeground(new Color(0, 0, 0));
        tfMatricula.setFont(new Font("Lucida Sans", 0, 13));
        tfMatricula.setToolTipText("Digite sua matrícula");
        tfMatricula.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));
        tfMatricula.setHorizontalAlignment(JTextField.CENTER);
        tfMatricula.requestFocus();
//        tfMatricula.setBounds(154, 71, 163, 21);
//        this.getContentPane().add(tfMatricula, new AbsoluteConstraints(154, 71, 163, 21));
        this.add(tfMatricula, "wrap, w :163:, h :21:");

        lbSenha = new JLabel();
        lbSenha.setText("Senha");
        lbSenha.setForeground(new Color(0, 0, 255));
        lbSenha.setFont(new Font("Lucida Sans", 1, 13));
        lbSenha.setHorizontalAlignment(SwingConstants.CENTER);
        lbSenha.setHorizontalTextPosition(SwingConstants.CENTER);
        lbSenha.setVerticalAlignment(SwingConstants.CENTER);
        lbSenha.setVerticalTextPosition(SwingConstants.CENTER);
//        lbSenha.setBounds(154, 98, 163, 19);
//        this.getContentPane().add(lbSenha, new AbsoluteConstraints(154, 98, 163, 19));
        this.add(lbSenha, "w :163:, h :19:");

        pfSenha = new JPasswordField();
        pfSenha.setBackground(new Color(255, 255, 255));
        pfSenha.setForeground(new Color(0, 0, 0));
        pfSenha.setFont(new Font("Lucida Sans", 0, 13));
        pfSenha.setToolTipText("Digite sua senha");
        pfSenha.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));
        pfSenha.setEchoChar('*');
        pfSenha.setHorizontalAlignment(JPasswordField.CENTER);
//        pfSenha.setBounds(154, 123, 163, 21);
//        this.getContentPane().add(pfSenha, new AbsoluteConstraints(154, 123, 163, 21));
        this.add(pfSenha, "wrap, w :163:, h :21:");

        btSair = new JButton();
        btSair.setFont(new Font("Lucida Sans", 1, 13));
        btSair.setForeground(new Color(255, 0, 0));
        btSair.setText("Sair");
        btSair.setToolTipText("Fecha a tela de login");
        btSair.setMnemonic('S');
        btSair.setIcon(new ImageIcon(getClass().getResource("/br/edu/utfpr/cm/tsi/pi/syshotel/imagens/sair.png")));
        btSair.setHorizontalAlignment(SwingConstants.CENTER);
        btSair.setHorizontalTextPosition(SwingConstants.RIGHT);
        btSair.setVerticalAlignment(SwingConstants.CENTER);
        btSair.setVerticalTextPosition(SwingConstants.CENTER);
//        btSair.setBounds(12, 174, 130, 31);
//        this.getContentPane().add(btSair, new AbsoluteConstraints(12, 174, 130, 31));
        this.add(btSair, "w :130:, h :31:");

        btEntrar = new JButton();
        btEntrar.setFont(new Font("Lucida Sans", 1, 13));
        btEntrar.setForeground(new Color(22, 103, 22));
        btEntrar.setText("Entrar");
        btEntrar.setToolTipText("Valida o login e entra no sistema");
        btEntrar.setMnemonic('E');
        btEntrar.setIcon(new ImageIcon(getClass().getResource("/br/edu/utfpr/cm/tsi/pi/syshotel/imagens/entrar.png")));
        btEntrar.setHorizontalAlignment(SwingConstants.CENTER);
        btEntrar.setHorizontalTextPosition(SwingConstants.RIGHT);
        btEntrar.setVerticalAlignment(SwingConstants.CENTER);
        btEntrar.setVerticalTextPosition(SwingConstants.CENTER);
//        btEntrar.setBounds(154, 174, 163, 31);
        this.getRootPane().setDefaultButton(btEntrar);
//        this.getContentPane().add(btEntrar, new AbsoluteConstraints(154, 174, 163, 31));
        this.add(btEntrar, "w :163:, h :31:");

        tentativa = 1;

        this.pack();
    }
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Definir eventos">
    /**
     * Este método define os eventos do formulário.
     */
    private void definirEventos() {

        pfSenha.addFocusListener(new FocusAdapter() {
            @Override
            public void focusLost(FocusEvent e) {

                btEntrar.requestFocus();
            }
        });

        btEntrar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                validaLogin();
            }
        });

        btSair.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                sair();
            }
        });
    }
    // </editor-fold>

    /**
     * Este método faz a validação do login. Se o login for válido abre a tela
     * principal, senão, verifica o número de tentativas permitidas. Caso o
     * número de tentativas esteja fora do permitido faz um bloqueio por tempo.
     */
    private void validaLogin() {
    }

    private void sair() {

        Funcoes.sair();
    }
    
    public static void main(String[] args) {
        new LoginGUI().setVisible(true);
    }
}

desenha como você quer que fique
só lendo o código fica difícil

Eu gostaria que ficasse desse jeito:
São 4 labels, 2 textfields, e 2 botões.

Recomendo usar o WindowBuilder (do Eclipse, sorry) para editar tais telas.

Note que o título ocupa 2 colunas.

Não é preciso usar um monte de valores absolutos como você fez, já que isso bagunça tudo se você mudar a resolução da tela.

O problema é que nao curto ficar desenhando não. Eu gosto de faze tudo no codigo.

package guj;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;

import net.miginfocom.swing.MigLayout;

public class ExemploJFrameComMigLayout extends JFrame {

    private JPanel contentPane;
    private JLabel lblGstokGesto;
    private JLabel lblMatrcula;
    private JTextField textField;
    private JLabel lblSenha;
    private JTextField textField_1;
    private JButton btnSair;
    private JButton btnEntrar;
    private JPanel panel;
    private JLabel lblCadeado;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    ExemploJFrameComMigLayout frame = new ExemploJFrameComMigLayout();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public ExemploJFrameComMigLayout() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 295, 244);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(new MigLayout("", "[][99.00,grow][grow]", "[][grow][][][][][]"));
        contentPane.add(getLblGstokGesto(), "cell 0 0 3 1,alignx center,aligny center");
        contentPane.add(getPanel(), "cell 1 1 1 5,grow");
        contentPane.add(getLblMatrcula(), "cell 2 1,alignx center");
        contentPane.add(getTextField(), "cell 2 2,growx");
        contentPane.add(getLblSenha(), "cell 2 3,alignx center");
        contentPane.add(getTextField_1(), "cell 2 4,growx");
        contentPane.add(getBtnSair(), "cell 1 6,growx");
        contentPane.add(getBtnEntrar(), "cell 2 6,growx");
    }

    private JLabel getLblGstokGesto() {
        if (lblGstokGesto == null) {
        	lblGstokGesto = new JLabel("GStoK - Gest\u00E3o Comercial");
        	lblGstokGesto.setHorizontalAlignment(SwingConstants.CENTER);
        	lblGstokGesto.setFont(new Font("SansSerif", Font.PLAIN, 20));
        }
        return lblGstokGesto;
    }
    private JLabel getLblMatrcula() {
        if (lblMatrcula == null) {
        	lblMatrcula = new JLabel("Matr\u00EDcula");
        }
        return lblMatrcula;
    }
    private JTextField getTextField() {
        if (textField == null) {
        	textField = new JTextField();
        	textField.setColumns(10);
        }
        return textField;
    }
    private JLabel getLblSenha() {
        if (lblSenha == null) {
        	lblSenha = new JLabel("Senha");
        }
        return lblSenha;
    }
    private JTextField getTextField_1() {
        if (textField_1 == null) {
        	textField_1 = new JTextField();
        	textField_1.setColumns(10);
        }
        return textField_1;
    }
    private JButton getBtnSair() {
        if (btnSair == null) {
        	btnSair = new JButton("Sair");
        }
        return btnSair;
    }
    private JButton getBtnEntrar() {
        if (btnEntrar == null) {
        	btnEntrar = new JButton("Entrar");
        }
        return btnEntrar;
    }
    private JPanel getPanel() {
        if (panel == null) {
        	panel = new JPanel();
        	panel.setBorder(new LineBorder(new Color(0, 0, 0)));
        	panel.add(getLblCadeado());
        }
        return panel;
    }
    private JLabel getLblCadeado() {
        if (lblCadeado == null) {
        	lblCadeado = new JLabel("cadeado");
        }
        return lblCadeado;
    }
}


Fiquei com preguiça de capturar seu cadeado e transforma-lo em um .png, então eu simplesmente criei um JLabel com um texto simples no exemplo que dei. Eu nem mexi no editor para criar a tela acima :slight_smile:

eu não entendi esta linha:

contentPane.setLayout(new MigLayout("", "[][99.00,grow][grow]", "[][grow][][][][][]"));

Confesso que também não sei, já que foi o WindowBuilder que fez essa configuração quando eu mexi na largura do label para ficar com 99 px de largura

é como faco para adicionar para desenhar com o miglayout no eclipse.
apesar de detestar isso vou ter ver como o código é feito para endter.
é so adicionar os jars?
ou o eclipse ja vem com o mig defualt?

[quote=sergiordasilva]é como faco para adicionar para desenhar com o miglayout no eclipse.
apesar de detestar isso vou ter ver como o código é feito para endter.
é so adicionar os jars?
ou o eclipse ja vem com o mig defualt?[/quote]

O WindowBuilder vem com o MigLayout. Entretanto, você precisa, para testar sua aplicação, adicionar os JARs do MigLayout ao “build path” no Eclipse.