JTable dans JScrollPane, comment mettre en arrière-plan?

Je suis à l'aide d'un JScrollPane pour envelopper un JTable. Selon la configuration, il y a de l'espace qui n'est pas occupé par la table. Il est tiré de gris (on dirait qu'il est transparent et vous pouvez voir juste le composant dans le dos). Comment puis-je régler ce domaine à être d'une certaine couleur?

Ici est un SSCCE pour illustrer.

import java.awt.Color;
import java.util.Vector;
import javax.swing.JDialog;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class DialogDemo extends JDialog {
public static void main(final String[] args) {
final DialogDemo diag = new DialogDemo();
diag.setVisible(true);
}
public DialogDemo() {
super();
setTitle("SSCCE");
final Vector<Vector<String>> rowData = new Vector<Vector<String>>();
final Vector<String> columnNames = new VectorBuilder<String>().addCont("Property").addCont("Value");
rowData.addElement(new VectorBuilder<String>().addCont("lorem").addCont("ipsum"));
rowData.addElement(new VectorBuilder<String>().addCont("dolor").addCont("sit amet"));
rowData.addElement(new VectorBuilder<String>().addCont("consectetur").addCont("adipiscing elit."));
rowData.addElement(new VectorBuilder<String>().addCont("Praesent").addCont("posuere..."));
final JTable table = new JTable(rowData, columnNames);
JScrollPane pane = new JScrollPane(table);
//************* make that stuff white! *******************
table.setBackground(Color.white);
table.setOpaque(true);
pane.setBackground(Color.white);
pane.setOpaque(true);
//************* make that stuff white! *******************
add(pane);
pack();
setLocationRelativeTo(null);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
class VectorBuilder<T> extends Vector<T> {
public VectorBuilder<T> addCont(final T elem) {
addElement(elem);
return this;
}
}
}

Et ici vous pouvez voir la zone, ce qui je veux "coloriser". Dans le SSCCE, j'essaie de le faire en utilisant setOpaque(boolean) et setBackgroundColor(Color) de la table et faites défiler le volet, sans succès.

JTable dans JScrollPane, comment mettre en arrière-plan?

Pouvez-vous me dire, ce que je fais de mal?

OriginalL'auteur brimborium | 2013-08-21