1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
package swingx;
import javax.swing.JComponent;
import org.jdesktop.swingx.renderer.CellContext;
import org.jdesktop.swingx.renderer.ComponentProvider;
import org.jdesktop.swingx.renderer.LabelProvider;
import org.jdesktop.swingx.renderer.StringValue;
public class MyProvider extends ComponentProvider<JComponent> {
private LabelProvider emptyProvider;
private ComponentProvider delegate;
public MyProvider(ComponentProvider delegate) {
super();
this.delegate = delegate;
StringValue sv = new StringValue() {
public String getString(Object value) {
return "";
}
};
emptyProvider = new LabelProvider(sv);
}
@Override
public JComponent getRendererComponent(CellContext context) {
return getComponentProvider(context).getRendererComponent(context);
}
private ComponentProvider getComponentProvider(CellContext context) {
if ((context == null) || (!context.isLeaf())) {
return emptyProvider;
}
return delegate;
}
@Override
protected void configureState(CellContext context) {
// do nothing - we delegate
}
@Override
protected void format(CellContext context) {
// do nothing - we delegate
}
@Override
protected JComponent createRendererComponent() {
return null;
}
} |