File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
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


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
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: 862
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: 862
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: 862
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 agree. Here's the link: http://aspose.com/file-tools
 
subject: JTable -background color