Oi Pessoal, tem user aqui que fez uma tela de procura de registros bem bacana (abaixo o link)
Eu to querendo fazer algo parecido, mas minha tabela sempre fica do tamanho do frame, não fica com um pequeno espaço nas laterais da moldura do frame, eu to usando o BorderLayout. Ja tentei usar setMaximumSize mas nao resolveu…
[code]
JScrollPane tableAggregate;
JFrame frame = new JFrame(“Teste Tabelas”);
JPanel p1 = new JPanel(new FlowLayout(FlowLayout.LEFT, 20, 20));
JLabel label1 = new JLabel("Localizar ");
JTextField tf1 = new JTextField(30);
p1.add(label1);
p1.add(tf1);
tableAggregate = createTable();
tableAggregate.setMaximumSize(new Dimension(800,600));
frame.getContentPane().setLayout(new BorderLayout(50,20));
frame.getContentPane().add( tableAggregate, BorderLayout.CENTER);
frame.add(p1,BorderLayout.SOUTH);
frame.setSize(1024,768);
frame.setVisible(true);[/code]
Ela fica desse jeito
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;
}
}
Valeu entanglement, mais uma vez me dando um força :D. Vou dar uma boa olhada na sua solução.