Is it possible to get a tables width? I want to make sure the element above it always has the same width.
Hi bellm,
Through scripting or not?
To get the width manually in the designer click on a table and then press Control-p.
To get the width in scripting use this:
table = event.source.parent.getComponent('Power Table')
print table.widthtable = event.source.parent.getComponent('Power Table')
print table.width
Best,
what about for an individual column? is there a document or something that list all the attributes you can chose from?
To get the width for a single column, you need to first get the underlying JTable.
This code will display the width of all columns:
[code]t=event.source.parent.getComponent(‘Power Table’).getTable() # get underlying table
# get number of columns
c=t.getColumnCount()
for i in range©:
colName=t.getColumnName(i) # get column name
cellRect=t.getCellRect(0,i,True) # get rectangle from top cell in column
colWidth=cellRect.width # get width of the rectangle
print colName, colWidth # print it
[/code]
The documentation for the underlying JTable can be found here.
Sorry. Should explain a bit further…
getCellRect returns a Rectangle of a cell:
getCellRect(row, col, includeSpacing)
The rectangle it returns has four items in it: x, y, width, and height. These are the position and size of the rectangle.
Note: the position is relative to the table itself. For example, the cell at the upper left will always be at 0,0 (x and y, respectively).