entanglement 26 de out. de 2012
Use o WindowBuilder e o MigLayout. Um exemplo (não configurei a tabela direitinho) :
package bvmf ;
import java.awt.EventQueue ;
import javax.swing.JButton ;
import javax.swing.JFrame ;
import javax.swing.JLabel ;
import javax.swing.JMenu ;
import javax.swing.JMenuBar ;
import javax.swing.JMenuItem ;
import javax.swing.JPanel ;
import javax.swing.JScrollPane ;
import javax.swing.JTable ;
import javax.swing.JTextField ;
import javax.swing.border.EmptyBorder ;
import net.miginfocom.swing.MigLayout ;
public class ExemploLayoutJTable extends JFrame {
private JPanel contentPane ;
private JMenuBar menuBar ;
private JMenu mnOpes ;
private JMenuItem mntmSair ;
private JScrollPane scrollPane ;
private JLabel lblLocalizar ;
private JTextField textField ;
private JButton button ;
private JPanel panel ;
private JButton btnIncluir ;
private JButton btnExcluir ;
private JButton btnAlterar ;
private JButton btnConsultar ;
private JButton btnImprimir ;
private JTable table ;
/**
* Launch the application.
*/
public static void main ( String [] args ) {
EventQueue . invokeLater ( new Runnable () {
public void run () {
try {
ExemploLayoutJTable frame = new ExemploLayoutJTable ();
frame . setVisible ( true );
} catch ( Exception e ) {
e . printStackTrace ();
}
}
});
}
/**
* Create the frame.
*/
public ExemploLayoutJTable () {
setTitle ( "Arquivo de Representantes" );
setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE );
setBounds ( 100 , 100 , 450 , 300 );
contentPane = new JPanel ();
contentPane . setBorder ( new EmptyBorder ( 5 , 5 , 5 , 5 ));
setContentPane ( contentPane );
contentPane . setLayout ( new MigLayout ( "" , "[432px,grow]" , "[30px:n][grow][][]" ));
contentPane . add ( getMenuBar_1 (), "growx" );
contentPane . add ( getScrollPane (), "cell 0 1,grow" );
contentPane . add ( getLblLocalizar (), "flowx,cell 0 2,alignx right" );
contentPane . add ( getTextField (), "cell 0 2" );
contentPane . add ( getButton (), "cell 0 2" );
contentPane . add ( getPanel (), "cell 0 3,grow" );
}
private JMenuBar getMenuBar_1 () {
if ( menuBar == null ) {
menuBar = new JMenuBar ();
menuBar . add ( getMnOpes ());
}
return menuBar ;
}
private JMenu getMnOpes () {
if ( mnOpes == null ) {
mnOpes = new JMenu ( "Op\u00E7\u00F5es" );
mnOpes . add ( getMntmSair ());
}
return mnOpes ;
}
private JMenuItem getMntmSair () {
if ( mntmSair == null ) {
mntmSair = new JMenuItem ( "Sair" );
}
return mntmSair ;
}
private JScrollPane getScrollPane () {
if ( scrollPane == null ) {
scrollPane = new JScrollPane ();
scrollPane . setViewportView ( getTable ());
}
return scrollPane ;
}
private JLabel getLblLocalizar () {
if ( lblLocalizar == null ) {
lblLocalizar = new JLabel ( "Localizar:" );
}
return lblLocalizar ;
}
private JTextField getTextField () {
if ( textField == null ) {
textField = new JTextField ();
textField . setColumns ( 10 );
}
return textField ;
}
private JButton getButton () {
if ( button == null ) {
button = new JButton ( "..." );
}
return button ;
}
private JPanel getPanel () {
if ( panel == null ) {
panel = new JPanel ();
panel . add ( getBtnIncluir ());
panel . add ( getBtnExcluir ());
panel . add ( getBtnAlterar ());
panel . add ( getBtnConsultar ());
panel . add ( getBtnImprimir ());
}
return panel ;
}
private JButton getBtnIncluir () {
if ( btnIncluir == null ) {
btnIncluir = new JButton ( "Incluir" );
}
return btnIncluir ;
}
private JButton getBtnExcluir () {
if ( btnExcluir == null ) {
btnExcluir = new JButton ( "Excluir" );
}
return btnExcluir ;
}
private JButton getBtnAlterar () {
if ( btnAlterar == null ) {
btnAlterar = new JButton ( "Alterar" );
}
return btnAlterar ;
}
private JButton getBtnConsultar () {
if ( btnConsultar == null ) {
btnConsultar = new JButton ( "Consultar" );
}
return btnConsultar ;
}
private JButton getBtnImprimir () {
if ( btnImprimir == null ) {
btnImprimir = new JButton ( "Imprimir" );
}
return btnImprimir ;
}
private JTable getTable () {
if ( table == null ) {
table = new JTable ();
}
return table ;
}
}
kerberos2002 28 de out. de 2012
Valeu entanglement, mais uma vez me dando um força :D. Vou dar uma boa olhada na sua solução.