CS 235 - Week 8 Lab - 2015-10-14
* threading/multithreading
* Chapter 14! in course text
* coverage should include parts of
14.1, 14.2, 14.3, and also maybe
14.5.15, 14.11, 14.11.1, 14.11.3
* so: GridBagLayout:
you create a GridBagConstraints object,
set up for the layout details for a particular
object,
then you add that component including
the constraints object for that component;
* in a GridBagConstraints object,
it has numerous PUBLIC (?!?) data fields;
* gridx
gridy - in which row, column is the
upper-left corner of this component?
* gridwidth
gridheight - controls the number of columns
and rows this component occupies
* weightx
weighty - the portion of extra space
(horizontally and vertically)
to allocate when the container
is resized
Core Java says: use 0, or 100, and only anything
in between as needed;
Java Tutorial says: 0.0 to 1.0...!
* 0.0 means you don't care to take advantage
of additional space
1.0 means you do...
* we'll start with 1.0, maybe play from there;
* fill - specifies how much of the component's
area is occupied (at layout time) --
static constraints!
GridBagConstraints.NONE, VERTICAL, HORIZONTAL, BOTH
* anchor - specifies the location of the component
within its area when the component doesn't
fill the whole area
used to be: absolute constants such as:
NORTH, NORTHEAST, SOUTH, SOUTHEAST, etc.
now (since Java 1.4) also relative constants:
FIRST_LINE_START PAGE_START FIRST_LINE_END
LINE_START CENTER LINE_END
LAST_LINE_START PAGE_END LAST_LINE_END
* ipadx, ipady - controls the padding between a component
and the borders of its area
* this is INTERNAL padding;
* these values are added to the minimim height
and weight of the component,
and ensure that the component does not shrink
down to its minimum size...
* Insets insets - controls the padding between
a component and NEIGHBORING components;
* set the left, top, right, and bottom
values of an Insets object TO the amount
of space you want around the outside border
of this component
...external padding!