BigAndi Geschrieben 19. Juli 2005 Geschrieben 19. Juli 2005 Hi, einen hab ich noch Man nehme einen JFrame und adde einen JPanel mit der Hintergrundfarbe Schwarz. Auf dieses Panel packt man nun einen JScrollPane, der eine Tabelle enthält, welche dynamisch befüllt wird. Die Hintergrundfarbe von ScrollPane und Tabelle ist ebenfalls auf Schwarz gesetzt. Wenn genug Zeilen in der Tabelle sind, sodass man drin rumscrollen kann, ist alles gut. Hat man aber zum Beispiel nur eine Zeile in der Tabelle, so bleibt der Rest des ScrollPanes leer, wird aber NICHT schwarz, wie man eigentlich annehmen könnte. Meine Vermutung ist, dass es Look & Feel abhängig ist, ob man die Hintergrundfarbe eines JScrollPanes beeinflussen kann, sicher weiß ich es aber nicht. Habe diverse L&Fs ausprobiert, bei keinem ging es. Nun meine Frage: kennt jemand ein L&F, bei dem es geht, oder muss ich meine Tabelle immer so weit mit leeren, nicht editierbaren Zeilen auffüllen, dass ein Scrollbalken erscheint und die Hintergrundfarbe vom JTable das Problem löst?
perdian Geschrieben 19. Juli 2005 Geschrieben 19. Juli 2005 Der Trick liegt darin JScrollPane und JViewPort auf opaque=false zu setzen, dann klappts: public static void main(String[] args) throws Exception { JTable table = new JTable(10, 2); JScrollPane scrollPane = new JScrollPane(table); [b]scrollPane.getViewport().setOpaque(false); scrollPane.setOpaque(false);[/b] JPanel panel = new JPanel(new BorderLayout()); panel.setBackground(Color.BLACK); panel.add(scrollPane); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(800, 600); frame.setLocationRelativeTo(null); frame.setContentPane(panel); frame.setVisible(true); }
BigAndi Geschrieben 19. Juli 2005 Autor Geschrieben 19. Juli 2005 Danke für die schnelle Hilfe! Auf scrollPane.setOpaque(false); war ich auch gekommen - und dann ging das große Kopfzerbrechen los. Du hast es echt drauf perdi, Respekt!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden