This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!
See this thread for details.
The moose likes Swing / AWT / SWT and the fly likes JTable -background color Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "JTable -background color" Watch "JTable -background color" New topic
Author

JTable -background color

francis varkey
Ranch Hand

Joined: Sep 13, 2005
Posts: 169
Dear Sir,

I create a JTable using DefaultTablemodel with initially zero row. table is added in a JscollPane table's row increase dynamically according to some events. I provide the size to table using setBounds(int,int,int,int) of JScrollPane. also provide the backgound color using SetBackground(Color) of JTable . Then I want to provide color the entire setBounds(int,int,int,int) area. how to do it? This is normaly fine in the case JButton,JCheckBox etc. But there is a problem in the case of JTable.

redards Francis Varkey
Brian Cole
Author
Ranch Hand

Joined: Sep 20, 2005
Posts: 875
    
    1
You are settings the bounds of the table or the scroll pane?

If the size of the table is smaller than the viewport, which
is extremely likely if the table has zero rows, then you are
seeing the the scrollpane's background.


bitguru blog
francis varkey
Ranch Hand

Joined: Sep 13, 2005
Posts: 169
I am setting bounds to Srollpane. but I see the background color as gray color. I am sure this is not the background color of Srollpane or the JPanel.
Becuase I am setting different background color to Srollpane and JPanel.
Brian Cole
Author
Ranch Hand

Joined: Sep 20, 2005
Posts: 875
    
    1
Can show us some code? Strip out only the frame/panel/layout/color stuff and let us take a look at it. Table too, but shouldn't need to see your TableModel.
francis varkey
Ranch Hand

Joined: Sep 13, 2005
Posts: 169
panel.setLayout(null);
panel.setBackground(new Color(240,255,255));

String head[]={"City","Date","HotelName"};
model=new DefaultTableModel(head,0);
table=new JTable(model);
JScrollPane scroll=new JScrollPane(cart_hstable,v,h); // (v,h)Constants

scroll.setBounds(20,30,950,280);

panel.add(scroll);
Scott Florez
Ranch Hand

Joined: Dec 05, 2006
Posts: 58
Try getContentPane().setBackground(Color). I've found that will fill in the areas that just using setBackground(Color) sometimes doesn't.
Brian Cole
Author
Ranch Hand

Joined: Sep 20, 2005
Posts: 875
    
    1
As I said before, it's not the table's background you are seeing,
but the scroll pane's. Or to be more precise, the background of
the scroll pane's viewport. You'll get the effect you want with
scroll.getViewport().setBackground(Color.pink), or probably
use a color you like better than pink.

btw, is there a reason you are setting the layout manager to null
and calling setBounds? This has nothing to do with your background
color problem, of course, but I'd prefer something like this
[ December 12, 2006: Message edited by: Brian Cole ]
 
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
 
subject: JTable -background color
 
It's not a secret anymore!