Hintergrund JTable

Status
Nicht offen für weitere Antworten.

Stiewen

Aktives Mitglied
Aloa Leutz,

hab da ein echt störendes Prob: Ich hab eine JTable, die sagen wir mal, 3 Zeilen hat.
Dieses JTable reicht aber über den ganzen Bildschirm.
Der Rest, indem keine Daten stehen, hat eine graue farbe!
Wie kann man den auch verändern?

THX, Stiewen
 
Wo ist denn der Rest? :roll: Wie hast du den JTable in das Frame eingefügt? Benutzt du einen Layoutmanager? Wenn, dann welchen? Ein bisschen mehr Infos währen hilfreich.
 
Also noch einmal: ich hab ne JTable, die setze ich auf BorderLayout.CENTER.
da die jetzt den ganzen bildschirm/ jframe ausfüllt und ich nur 3 zeilen mit daten habe, ist der untere teil grau...

Wie kann ich den ändern? (Ich habe auch schon das ContentPane versucht zu ändern ... geht auch net)
 
-.- geht aber nicht -.-
zudem: getParent() sollte mir globsch die unterfläche geben, auf der das ding sitzt... da ich das schon geändert hab, bringt das recht wenig!
Also, ich bin offen für weitere Ratschläge.
 
Stiewen hat gesagt.:
-.- geht aber nicht -.-
Bei mir geht's:
Code:
//package tableDemo;
/*
 * TableBackground2.java
 */
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableBackground2 extends JFrame {
    public TableBackground2() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        table = new JTable();
        table.setModel(new DefaultTableModel(
                new Object [][] {
                    {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"
        }
        ));
        getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
        table.getParent().setBackground(table.getBackground());
        pack();
    }
    public static void main(String args[]) {new TableBackground2().setVisible(true);}
    private JTable table;
}
 
Hallo Leutz nochmal,
hört mal, ich muss das hier noch mal aufwärmen ...
Habs net hinbekommen und schick hier noch mal meinen Source:
Code:
    jtbTable = new JTable(database.strData, database.strHead);
    jtbTable.setBackground(database.colBaGr);
    jtbTable.setForeground(database.colFoGr);
    jtbTable.setRowHeight(20);
    jtbTable.setGridColor(database.colMenuBack);
    jtbTable.setEnabled(false);
    jtbTable.setFont(database.foMyFont);
    add(new JScrollPane(jtbTable), BorderLayout.CENTER);

das ganze wird auf einen Panel gedrückt, der das Layout BorderLayout hat und danach auf das ganze Fenster gedrückt wird... somit kommt raus, dass das JTable nicht alles einnimmt und ein Bereich grau bei mir ist.

Kann noch mal einer drüber fliegen? würde mich sehr sehr sehr freuen.
 
Stiewen hat gesagt.:
...Habs net hinbekommen und schick hier noch mal meinen Source...
Schaut ja gut aus. Fehlt nur ne Kleinigkeit:
Code:
       jtbTable = new JTable(database.strData, database.strHead);
        jtbTable.setBackground(database.colBaGr);
        jtbTable.setForeground(database.colFoGr);
        jtbTable.setRowHeight(20);
        jtbTable.setGridColor(database.colMenuBack);
        jtbTable.setEnabled(false);
        jtbTable.setFont(database.foMyFont);
        add(new JScrollPane(jtbTable), BorderLayout.CENTER);
        jtbTable.getParent().setBackground(jtbTable.getBackground());//<--------HIER
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben