mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Custom border factory via client properties
This commit is contained in:
+9
-1
@@ -62,6 +62,8 @@ public class AsmCodeGenerator {
|
||||
private static final Method ourCreateTitledBorderMethod = Method.getMethod(
|
||||
"javax.swing.border.TitledBorder createTitledBorder(javax.swing.border.Border,java.lang.String,int,int,java.awt.Font,java.awt.Color)");
|
||||
|
||||
private static final String ourBorderFactoryClientProperty = "BorderFactoryClass";
|
||||
|
||||
private final NestedFormLoader myFormLoader;
|
||||
private final boolean myIgnoreCustomCreation;
|
||||
private final ClassWriter myClassWriter;
|
||||
@@ -820,7 +822,13 @@ public class AsmCodeGenerator {
|
||||
generator.push((String) null);
|
||||
}
|
||||
pushBorderProperties(container, generator, borderTitle, componentLocal);
|
||||
generator.invokeStatic(ourBorderFactoryType, ourCreateTitledBorderMethod);
|
||||
|
||||
Type borderFactoryType = ourBorderFactoryType;
|
||||
if (container.getDelegeeClientProperties().get(ourBorderFactoryClientProperty) != null) {
|
||||
borderFactoryType = typeFromClassName(((StringDescriptor)container.getDelegeeClientProperties().get(ourBorderFactoryClientProperty)).getValue());
|
||||
}
|
||||
|
||||
generator.invokeStatic(borderFactoryType, ourCreateTitledBorderMethod);
|
||||
|
||||
// set border
|
||||
generator.invokeVirtual(Type.getType(JComponent.class),
|
||||
|
||||
Reference in New Issue
Block a user