public BSBLineObjectView(BSBLineObject lineObj) { this.lineObj = lineObj; super.setBSBObject(this.lineObj); this.setLayout(new BorderLayout()); this.add(lineCanvas, BorderLayout.CENTER); this.add(lineSelector, BorderLayout.SOUTH); lineCanvas.setLocked(lineObj.isLocked()); lineSelector.setLineCanvas(lineCanvas); this.setBorder(new LineBorder(Color.GRAY)); revalidate(); setLineList(lineObj.getLines()); this.setSize( lineObj.getCanvasWidth(), lineObj.getCanvasHeight() + lineSelector.getPreferredSize().height); repaint(); lineObj.addPropertyChangeListener(this); }
public void propertyChange(PropertyChangeEvent evt) { if (evt.getSource() != lineObj) { return; } String prop = evt.getPropertyName(); if (prop.equals("canvasWidth") || prop.equals("canvasHeight")) { int w = lineObj.getCanvasWidth(); int h = lineObj.getCanvasHeight(); lineCanvas.setSize(new Dimension(w, h)); this.setSize(w, h + lineSelector.getPreferredSize().height); this.revalidate(); } else if (prop.equals("presetValue")) { this.repaint(); } }
public int getCanvasWidth() { return lineObj.getCanvasWidth(); }