Como centrar un JScrollPane en un JPanel

tabo
14 de Abril del 2004
Hola a todos,
tengo un JScrollPane, que contiene un JTable, y esta tabla tiene que ir en una ventana que es un frame. Lo que yo quiero es centrar el scrollPane, sin darle un tamaño predefinido ni nada por el estilo.
A ver si alguien puede ayudarme, gracias.

el_josen
14 de Abril del 2004
Mira a ver si este codigo que he hecho de prueba te vale:

public class prueba extends javax.swing.JFrame {

public prueba() {
initComponents();
}

private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jPanel1 = new javax.swing.JPanel();
jTable1 = new javax.swing.JTable();

addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});

jPanel1.setLayout(new java.awt.BorderLayout());

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6", "Title 7", "Title 8", "Title 9", "Title 10", "Title 11", "Title 12", "Title 13", "Title 14", "Title 15", "Title 16"
}
));
jPanel1.add(jTable1, java.awt.BorderLayout.CENTER);

jScrollPane1.setViewportView(jPanel1);

getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

pack();
}

private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}

public static void main(String args[]) {
new prueba().show();
}


// Variables
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JPanel jPanel1;
private javax.swing.JTable jTable1;

}

tabo
14 de Abril del 2004
Gracias, pero eso no hace lo k yo kiero. Yo tengo este codigo:

JScrollPane scrollPane = new JScrollPane(jTabla,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
panelCentral = new JPanel();
panelCentral.setLayout(new BorderLayout());
panelCentral.add(scrollPane, BorderLayout.CENTER);
this.add(panelInferior, BorderLayout.SOUTH);
this.add(panelCentral, BorderLayout.CENTER);

Y la tabla me sale en la esquina superior izquierda. Y es que depende de los resultados que muestre o la tabla es muy pequeña o es muy grande, y por eso kisiera centrarla.

Un saludo, y a ver si me puedes ayudar...