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.
Pouvez-vous me dire, ce que je fais de mal?
OriginalL'auteur brimborium | 2013-08-21
Vous devez vous connecter pour publier un commentaire.
Au lieu de cela:
appel:
Interesty...Alors pourquoi est-ce que la méthode existe encore?
voir ici pour JTable, ce insteresting question ont lui a demandé à quelques reprises, je ne sais pas répondre
Fonctionne parfaitement. Merci beaucoup pour la réponse. @mKorbel Ouais, j'ai pensé que ceux
setOpaque()
méthodes n'ont pas à faire quoi que ce soit. Ce qui a de plus déroutant. 😉huch? Chaque composant peut être opaque (ou pas)
OriginalL'auteur Branislav Lazic
N'utilisez pas Opaque, essayez ceci:
OriginalL'auteur Kuhakuvi