ChangeListener marginListener = new ChangeListener() {
static final double mmToSubInch = 72 / 25.4;
public void stateChanged(ChangeEvent e) {
MarginPaper paper = getSelectedPaper();
if (paper==null)
return;
double l = (Double) left.getValue() *mmToSubInch;
double r = (Double) right.getValue() *mmToSubInch;
double t = (Double) top.getValue() *mmToSubInch;
double b = (Double) bottom.getValue() *mmToSubInch;
paper.setImageableArea(l, t, (paper.getWidth()-l)-r, (paper.getHeight()-t)-b);
updatePreview();
}
};
left.addChangeListener(marginListener);
right.addChangeListener(marginListener);