blob: e656c3635a803664e8651180cf4e533bfb646bdf [file] [log] [blame]
/**
*
*/
package net.sf.taverna.t2.lang.ui;
import java.awt.Graphics;
import javax.swing.JSplitPane;
/**
* Copied from code found on http://www.jguru.com
*
*/
public class JSplitPaneExt extends JSplitPane {
protected boolean m_fIsPainted = false;
protected double m_dProportionalLocation = -1;
public JSplitPaneExt() {
super();
}
public JSplitPaneExt(int iOrientation) {
super(iOrientation);
}
protected boolean hasProportionalLocation() {
return (m_dProportionalLocation != -1);
}
public void cancelDividerProportionalLocation() {
m_dProportionalLocation = -1;
}
public void setDividerLocation(double dProportionalLocation) {
if (dProportionalLocation < 0 || dProportionalLocation > 1) {
throw new IllegalArgumentException(
"Illegal value for divider location: "
+ dProportionalLocation);
}
m_dProportionalLocation = dProportionalLocation;
if (m_fIsPainted) {
super.setDividerLocation(m_dProportionalLocation);
}
}
public void paint(Graphics g) {
super.paint(g);
if (hasProportionalLocation()) {
super.setDividerLocation(m_dProportionalLocation);
}
m_fIsPainted=true;
}
}