From f8671768f108c2ed92761053633bde3d930af908 Mon Sep 17 00:00:00 2001 From: richie Date: Fri, 30 Aug 2019 20:44:05 +0800 Subject: [PATCH] =?UTF-8?q?FineKit=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/finekit-10.0-20190830.jar | Bin 130617 -> 148285 bytes .../fr/plugin/db/redis/core/RedisPool.java | 3 +- .../plugin/db/redis/core/RedisTableData.java | 4 +-- .../db/redis/core/order/OrderValue.java | 4 +-- .../core/order/impl/FormulaOrderValue.java | 4 +-- .../core/order/impl/NumberOrderValue.java | 4 +-- .../db/redis/core/visit/impl/GetVisitor.java | 1 - .../redis/core/visit/impl/HashGetVisitor.java | 3 +- .../core/visit/impl/HashMGetVisitor.java | 3 +- .../com/fr/plugin/db/redis/help/Files.java | 4 +-- .../db/redis/ui/RedisBaseTableDataPane.java | 22 ++++++------- .../db/redis/ui/RedisConnectionPane.java | 8 ++--- .../redis/ui/RedisDBConnectionChosePane.java | 2 +- .../fr/plugin/db/redis/ui/RedisQueryPane.java | 29 ++++++++---------- .../plugin/db/redis/ui/RedisScriptPane.java | 13 ++++---- .../db/redis/ui/RedisScriptTableDataPane.java | 6 ++-- .../db/redis/ui/RedisTableDataPane.java | 6 ++-- .../proxy/RedisConnectionProxyConfigPane.java | 18 +++++------ .../db/redis/ui/value/FormulaEditor.java | 16 +++++----- .../redis/ui/value/IndexValuePaneFactory.java | 6 ++-- .../db/redis/ui/value/IntegerEditor.java | 9 +++--- 21 files changed, 75 insertions(+), 90 deletions(-) diff --git a/lib/finekit-10.0-20190830.jar b/lib/finekit-10.0-20190830.jar index a1dc8d7c5e205b2f090ad648463ddbe0e436f819..f12dcdf7d5020907d437673e9b9411dc9079b536 100644 GIT binary patch delta 32146 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 Sk8vL3Xldi%z+Z%5uKx!J$yT5M diff --git a/src/main/java/com/fr/plugin/db/redis/core/RedisPool.java b/src/main/java/com/fr/plugin/db/redis/core/RedisPool.java index a519ea0..85cc3a2 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/RedisPool.java +++ b/src/main/java/com/fr/plugin/db/redis/core/RedisPool.java @@ -2,7 +2,6 @@ package com.fr.plugin.db.redis.core; import com.fanruan.api.log.LogKit; import com.fanruan.api.util.StringKit; -import com.fr.config.Configuration; import com.fr.config.holder.ConfigChangeListener; import com.fr.plugin.db.redis.core.emb.Redis; import com.fr.plugin.db.redis.core.emb.impl.ProxyRedis; @@ -37,7 +36,7 @@ public class RedisPool { } @Override - public boolean accept(Class clazz) { + public boolean accept(Class clazz) { return RedisConnectionPoolConfig.class == clazz; } }); diff --git a/src/main/java/com/fr/plugin/db/redis/core/RedisTableData.java b/src/main/java/com/fr/plugin/db/redis/core/RedisTableData.java index 6bc587f..5e9f591 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/RedisTableData.java +++ b/src/main/java/com/fr/plugin/db/redis/core/RedisTableData.java @@ -1,13 +1,13 @@ package com.fr.plugin.db.redis.core; import com.fanruan.api.conf.HolderKit; +import com.fanruan.api.conf.xml.XmlHolderKit; import com.fanruan.api.data.ConnectionKit; import com.fanruan.api.log.LogKit; import com.fanruan.api.util.StringKit; import com.fanruan.api.xml.XmlKit; import com.fr.base.TableData; import com.fr.config.holder.Conf; -import com.fr.config.holder.factory.XmlHolders; import com.fr.data.AbstractParameterTableData; import com.fr.data.impl.Connection; import com.fr.general.data.DataModel; @@ -29,7 +29,7 @@ public class RedisTableData extends AbstractParameterTableData { private static final long serialVersionUID = 7017455818551800001L; private Conf database = HolderKit.obj(null, Connection.class); - private Conf dbIndex = XmlHolders.obj(new NumberOrderValue(0), OrderValue.class, OrderValue.XML_TAG); + private Conf dbIndex = XmlHolderKit.obj(new NumberOrderValue(0), OrderValue.class, OrderValue.XML_TAG); private Conf query = HolderKit.simple(StringKit.EMPTY); private Conf script = HolderKit.simple(StringKit.EMPTY); diff --git a/src/main/java/com/fr/plugin/db/redis/core/order/OrderValue.java b/src/main/java/com/fr/plugin/db/redis/core/order/OrderValue.java index d40737d..3ac57ec 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/order/OrderValue.java +++ b/src/main/java/com/fr/plugin/db/redis/core/order/OrderValue.java @@ -2,8 +2,8 @@ package com.fr.plugin.db.redis.core.order; import com.fanruan.api.conf.BaseUniqueKey; import com.fanruan.api.util.GeneralKit; -import com.fr.script.Calculator; import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLable; import com.fr.stable.xml.XMLableReader; @@ -16,7 +16,7 @@ public abstract class OrderValue extends BaseUniqueKey implements XMLable { public abstract Object getValue(); - public abstract int toIndex(Calculator cal, ParameterProvider[] ps); + public abstract int toIndex(CalculatorProvider cal, ParameterProvider[] ps); public ParameterProvider[] analyze4Parameters() { return new ParameterProvider[0]; diff --git a/src/main/java/com/fr/plugin/db/redis/core/order/impl/FormulaOrderValue.java b/src/main/java/com/fr/plugin/db/redis/core/order/impl/FormulaOrderValue.java index 14e2e01..1ff1e57 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/order/impl/FormulaOrderValue.java +++ b/src/main/java/com/fr/plugin/db/redis/core/order/impl/FormulaOrderValue.java @@ -7,8 +7,8 @@ import com.fanruan.api.util.GeneralKit; import com.fanruan.api.util.StringKit; import com.fr.base.BaseFormula; import com.fr.plugin.db.redis.core.order.OrderValue; -import com.fr.script.Calculator; import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; import com.fr.stable.script.NameSpace; import com.fr.stable.xml.XMLableReader; @@ -34,7 +34,7 @@ public class FormulaOrderValue extends OrderValue { } @Override - public int toIndex(Calculator cal, ParameterProvider[] ps) { + public int toIndex(CalculatorProvider cal, ParameterProvider[] ps) { NameSpace nameSpace = ParameterKit.createParameterMapNameSpace(ps); cal.pushNameSpace(nameSpace); try { diff --git a/src/main/java/com/fr/plugin/db/redis/core/order/impl/NumberOrderValue.java b/src/main/java/com/fr/plugin/db/redis/core/order/impl/NumberOrderValue.java index f03846a..7b19360 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/order/impl/NumberOrderValue.java +++ b/src/main/java/com/fr/plugin/db/redis/core/order/impl/NumberOrderValue.java @@ -1,8 +1,8 @@ package com.fr.plugin.db.redis.core.order.impl; import com.fr.plugin.db.redis.core.order.OrderValue; -import com.fr.script.Calculator; import com.fr.stable.ParameterProvider; +import com.fr.stable.script.CalculatorProvider; import com.fr.stable.xml.XMLableReader; public class NumberOrderValue extends OrderValue { @@ -24,7 +24,7 @@ public class NumberOrderValue extends OrderValue { } @Override - public int toIndex(Calculator cal, ParameterProvider[] ps) { + public int toIndex(CalculatorProvider cal, ParameterProvider[] ps) { return getValue(); } diff --git a/src/main/java/com/fr/plugin/db/redis/core/visit/impl/GetVisitor.java b/src/main/java/com/fr/plugin/db/redis/core/visit/impl/GetVisitor.java index 33e5d12..be61962 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/visit/impl/GetVisitor.java +++ b/src/main/java/com/fr/plugin/db/redis/core/visit/impl/GetVisitor.java @@ -1,7 +1,6 @@ package com.fr.plugin.db.redis.core.visit.impl; import com.fr.plugin.db.redis.core.visit.AbstractVisitor; -import com.fr.script.Calculator; import com.fr.stable.ParameterProvider; import com.fr.stable.script.CalculatorProvider; import com.fr.third.redis.clients.jedis.Jedis; diff --git a/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashGetVisitor.java b/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashGetVisitor.java index f6b7e8d..2702029 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashGetVisitor.java +++ b/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashGetVisitor.java @@ -1,8 +1,7 @@ package com.fr.plugin.db.redis.core.visit.impl; -import com.fr.stable.ParameterProvider; import com.fr.plugin.db.redis.core.visit.AbstractVisitor; -import com.fr.script.Calculator; +import com.fr.stable.ParameterProvider; import com.fr.stable.script.CalculatorProvider; import com.fr.third.redis.clients.jedis.Jedis; diff --git a/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashMGetVisitor.java b/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashMGetVisitor.java index 65c9f88..0728e6d 100644 --- a/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashMGetVisitor.java +++ b/src/main/java/com/fr/plugin/db/redis/core/visit/impl/HashMGetVisitor.java @@ -1,8 +1,7 @@ package com.fr.plugin.db.redis.core.visit.impl; -import com.fr.stable.ParameterProvider; import com.fr.plugin.db.redis.core.visit.AbstractVisitor; -import com.fr.script.Calculator; +import com.fr.stable.ParameterProvider; import com.fr.stable.script.CalculatorProvider; import com.fr.third.redis.clients.jedis.Jedis; diff --git a/src/main/java/com/fr/plugin/db/redis/help/Files.java b/src/main/java/com/fr/plugin/db/redis/help/Files.java index 9f3fa12..e75031d 100644 --- a/src/main/java/com/fr/plugin/db/redis/help/Files.java +++ b/src/main/java/com/fr/plugin/db/redis/help/Files.java @@ -2,10 +2,10 @@ package com.fr.plugin.db.redis.help; import com.eclipsesource.v8.V8; import com.fanruan.api.util.IOKit; -import com.fanruan.api.macro.EncodeConstants; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; /** * @author richie @@ -25,7 +25,7 @@ public class Files { InputStream in = IOKit.read(filePath); if (in != null) { try { - v8.executeVoidScript(IOKit.inputStream2String(in, EncodeConstants.ENCODING_UTF_8)); + v8.executeVoidScript(IOKit.inputStream2String(in, StandardCharsets.UTF_8)); } catch (UnsupportedEncodingException ignore) { } diff --git a/src/main/java/com/fr/plugin/db/redis/ui/RedisBaseTableDataPane.java b/src/main/java/com/fr/plugin/db/redis/ui/RedisBaseTableDataPane.java index 4456a57..9866624 100644 --- a/src/main/java/com/fr/plugin/db/redis/ui/RedisBaseTableDataPane.java +++ b/src/main/java/com/fr/plugin/db/redis/ui/RedisBaseTableDataPane.java @@ -1,21 +1,18 @@ package com.fr.plugin.db.redis.ui; -import com.fanruan.api.util.IOKit; -import com.fanruan.api.cal.ParameterKit; -import com.fanruan.api.design.ui.action.UpdateAction; import com.fanruan.api.cal.ParameterKit; -import com.fr.base.TableData; import com.fanruan.api.design.DesignKit; -import com.fr.design.data.tabledata.tabledatapane.AbstractTableDataPane; -import com.fanruan.api.design.ui.component.table.model.ParameterTableModel; -import com.fanruan.api.design.ui.component.table.action.UITableEditAction; -import com.fanruan.api.design.ui.component.table.UITableEditorPane; +import com.fanruan.api.design.ui.action.UpdateAction; import com.fanruan.api.design.ui.component.UIToolbar; -import com.fanruan.api.design.DesignKit; -import com.fr.design.menu.ToolBarDef; +import com.fanruan.api.design.ui.component.table.UITableEditorPane; +import com.fanruan.api.design.ui.component.table.action.UITableEditAction; +import com.fanruan.api.design.ui.component.table.model.ParameterTableModel; import com.fanruan.api.design.ui.toolbar.ToolBarDef; -import com.fr.plugin.db.redis.core.order.OrderValue; import com.fanruan.api.util.ArrayKit; +import com.fanruan.api.util.IOKit; +import com.fr.base.TableData; +import com.fr.design.data.tabledata.tabledatapane.AbstractTableDataPane; +import com.fr.plugin.db.redis.core.order.OrderValue; import com.fr.stable.ParameterProvider; import javax.swing.*; @@ -52,7 +49,7 @@ public abstract class RedisBaseTableDataPane extends Abstra ParameterTableModel model = new ParameterTableModel() { @Override public UITableEditAction[] createAction() { - return ArrayKit.add(super.createDBTableAction(), new RedisBaseTableDataPane.RefreshAction()); + return new UITableEditAction[]{new MoveUpAction(), new MoveDownAction(), new RedisBaseTableDataPane.RefreshAction()}; } }; editorPane = new UITableEditorPane(model); @@ -162,5 +159,4 @@ public abstract class RedisBaseTableDataPane extends Abstra } - } diff --git a/src/main/java/com/fr/plugin/db/redis/ui/RedisConnectionPane.java b/src/main/java/com/fr/plugin/db/redis/ui/RedisConnectionPane.java index 40aa820..501240f 100755 --- a/src/main/java/com/fr/plugin/db/redis/ui/RedisConnectionPane.java +++ b/src/main/java/com/fr/plugin/db/redis/ui/RedisConnectionPane.java @@ -1,5 +1,7 @@ package com.fr.plugin.db.redis.ui; +import com.fanruan.api.conf.ConfigurationKit; +import com.fanruan.api.conf.Runner; import com.fanruan.api.design.DesignKit; import com.fanruan.api.design.ui.component.UIActionLabel; import com.fanruan.api.design.ui.component.UIIntNumberField; @@ -17,8 +19,6 @@ import com.fr.plugin.db.redis.core.pool.RedisConnectionPoolConfig; import com.fr.plugin.db.redis.core.pool.RedisConnectionProxyConfig; import com.fr.plugin.db.redis.ui.pool.RedisConnectionPoolConfigPane; import com.fr.plugin.db.redis.ui.proxy.RedisConnectionProxyConfigPane; -import com.fr.transaction.Configurations; -import com.fr.transaction.WorkerFacade; import javax.swing.*; import java.awt.*; @@ -64,7 +64,7 @@ public class RedisConnectionPane extends DatabaseConnectionPane parameterList = editorPane.update(); ParameterProvider[] parameters = parameterList.toArray(new ParameterProvider[parameterList.size()]); diff --git a/src/main/java/com/fr/plugin/db/redis/ui/RedisTableDataPane.java b/src/main/java/com/fr/plugin/db/redis/ui/RedisTableDataPane.java index 8fb843f..bd4147f 100755 --- a/src/main/java/com/fr/plugin/db/redis/ui/RedisTableDataPane.java +++ b/src/main/java/com/fr/plugin/db/redis/ui/RedisTableDataPane.java @@ -1,12 +1,12 @@ package com.fr.plugin.db.redis.ui; +import com.fanruan.api.data.ConnectionKit; import com.fanruan.api.design.DesignKit; -import com.fanruan.api.database.nameDatabase.NameReference; +import com.fanruan.api.util.StringKit; import com.fr.plugin.db.redis.core.RedisTableData; import com.fr.plugin.db.redis.core.order.OrderValue; import com.fr.script.Calculator; import com.fr.stable.ParameterProvider; -import com.fanruan.api.util.StringKit; import javax.swing.*; import java.util.List; @@ -69,7 +69,7 @@ public class RedisTableDataPane extends RedisBaseTableDataPane { String connectionName = chosePane.getSelectRedisConnectionName(); if (StringKit.isNotEmpty(connectionName)) { - tableData.setDatabase(new NameReference(connectionName)); + tableData.setDatabase(ConnectionKit.createNameConnection(connectionName)); } List parameterList = editorPane.update(); diff --git a/src/main/java/com/fr/plugin/db/redis/ui/proxy/RedisConnectionProxyConfigPane.java b/src/main/java/com/fr/plugin/db/redis/ui/proxy/RedisConnectionProxyConfigPane.java index b1d9955..4359fa8 100644 --- a/src/main/java/com/fr/plugin/db/redis/ui/proxy/RedisConnectionProxyConfigPane.java +++ b/src/main/java/com/fr/plugin/db/redis/ui/proxy/RedisConnectionProxyConfigPane.java @@ -1,15 +1,15 @@ package com.fr.plugin.db.redis.ui.proxy; -import com.fanruan.api.design.ui.container.BasicPane; -import com.fanruan.api.layout.TableLayoutKit; -import com.fanruan.api.design.util.GUICoreKit; +import com.fanruan.api.design.DesignKit; import com.fanruan.api.design.ui.component.UIButton; import com.fanruan.api.design.ui.component.UICheckBox; -import com.fanruan.api.design.ui.component.UILabel; -import com.fanruan.api.design.ui.component.UIPassWordField; import com.fanruan.api.design.ui.component.UIIntNumberField; +import com.fanruan.api.design.ui.component.UILabel; +import com.fanruan.api.design.ui.component.UIPasswordField; import com.fanruan.api.design.ui.component.UITextField; -import com.fanruan.api.design.DesignKit; +import com.fanruan.api.design.ui.container.BasicPane; +import com.fanruan.api.design.ui.layout.TableLayoutKit; +import com.fanruan.api.design.util.GUICoreKit; import com.fr.plugin.db.redis.core.pool.RedisConnectionProxyConfig; import javax.swing.*; @@ -30,7 +30,7 @@ public class RedisConnectionProxyConfigPane extends BasicPane { private UITextField hostTextField; private UIIntNumberField portNumberField; private UITextField usernameTextField; - private UIPassWordField passwordTextField; + private UIPasswordField passwordTextField; private UITextField privateKeyPathTextField; public RedisConnectionProxyConfigPane() { @@ -43,7 +43,7 @@ public class RedisConnectionProxyConfigPane extends BasicPane { portNumberField = new UIIntNumberField(); usernameTextField = new UITextField(); - passwordTextField = new UIPassWordField(); + passwordTextField = new UIPasswordField(); privateKeyPathTextField = new UITextField(); privateKeyPathTextField.setPlaceholder(DesignKit.i18nText("Plugin-Redis_Proxy_Private_Key_Tip")); @@ -83,7 +83,7 @@ public class RedisConnectionProxyConfigPane extends BasicPane { double[] rowSize = new double[]{p, p, p, p, p, p}; double[] columnSize = new double[]{p, f}; - add(GUICoreKit.createTableLayoutPane(comps, rowSize, columnSize), BorderLayout.CENTER); + add(TableLayoutKit.createTableLayoutPane(comps, rowSize, columnSize), BorderLayout.CENTER); } diff --git a/src/main/java/com/fr/plugin/db/redis/ui/value/FormulaEditor.java b/src/main/java/com/fr/plugin/db/redis/ui/value/FormulaEditor.java index 946a4ec..56675bc 100644 --- a/src/main/java/com/fr/plugin/db/redis/ui/value/FormulaEditor.java +++ b/src/main/java/com/fr/plugin/db/redis/ui/value/FormulaEditor.java @@ -1,13 +1,13 @@ package com.fr.plugin.db.redis.ui.value; -import com.fr.base.BaseFormula; -import com.fanruan.api.design.ui.container.DialogActionAdapter; -import com.fanruan.api.design.ui.editor.Editor; -import com.fanruan.api.design.ui.factory.FormulaFactory; -import com.fr.design.formula.UIFormula; -import com.fanruan.api.design.ui.component.UITextField; import com.fanruan.api.design.DesignKit; +import com.fanruan.api.design.ui.component.UITextField; +import com.fanruan.api.design.ui.container.DialogActionAdapter; import com.fanruan.api.design.util.GUICoreKit; +import com.fanruan.api.design.work.formula.FormulaUIKit; +import com.fr.base.BaseFormula; +import com.fr.design.editor.editor.Editor; +import com.fr.design.formula.UIFormula; import com.fr.plugin.db.redis.core.order.impl.FormulaOrderValue; import javax.swing.*; @@ -38,7 +38,7 @@ public class FormulaEditor extends Editor { if (formula != null) { this.orderValue = formula; } - this.setLayout(GUICoreKit.createBorderLayout()); + this.setLayout(new BorderLayout()); JPanel editPane = GUICoreKit.createBorderLayoutPane(); currentTextField = new UITextField(28); @@ -78,7 +78,7 @@ public class FormulaEditor extends Editor { protected void showFormulaPane() { - final UIFormula formulaPane = FormulaFactory.createFormulaPaneWhenReserveFormula(); + final UIFormula formulaPane = FormulaUIKit.createFormulaPaneWhenReserveFormula(); formulaPane.populate(orderValue.getValue()); formulaPane.showLargeWindow(SwingUtilities.getWindowAncestor(FormulaEditor.this), new DialogActionAdapter() { diff --git a/src/main/java/com/fr/plugin/db/redis/ui/value/IndexValuePaneFactory.java b/src/main/java/com/fr/plugin/db/redis/ui/value/IndexValuePaneFactory.java index 249622c..744c965 100644 --- a/src/main/java/com/fr/plugin/db/redis/ui/value/IndexValuePaneFactory.java +++ b/src/main/java/com/fr/plugin/db/redis/ui/value/IndexValuePaneFactory.java @@ -1,8 +1,8 @@ package com.fr.plugin.db.redis.ui.value; import com.fanruan.api.design.ui.editor.ValueEditorPane; -import com.fanruan.api.design.ui.editor.ValueEditorPane; -import com.fanruan.api.design.ui.editor.Editor; +import com.fanruan.api.design.ui.editor.ValueEditors; +import com.fr.design.editor.editor.Editor; public class IndexValuePaneFactory { @@ -12,7 +12,7 @@ public class IndexValuePaneFactory { * @return 返回pane */ public static ValueEditorPane createValueEditorPane() { - return ValueEditorPaneFactory.createValueEditorPane(new Editor[]{ + return ValueEditors.createValueEditorPane(new Editor[]{ new IntegerEditor(), new FormulaEditor() }); diff --git a/src/main/java/com/fr/plugin/db/redis/ui/value/IntegerEditor.java b/src/main/java/com/fr/plugin/db/redis/ui/value/IntegerEditor.java index 46f7b2b..89f065e 100644 --- a/src/main/java/com/fr/plugin/db/redis/ui/value/IntegerEditor.java +++ b/src/main/java/com/fr/plugin/db/redis/ui/value/IntegerEditor.java @@ -1,12 +1,11 @@ package com.fr.plugin.db.redis.ui.value; -import com.fanruan.api.util.GeneralKit; -import com.fanruan.api.design.ui.editor.Editor; import com.fanruan.api.design.ui.component.UIIntNumberField; import com.fanruan.api.design.ui.component.UITextField; -import com.fanruan.api.design.util.GUICoreKit; -import com.fr.plugin.db.redis.core.order.impl.NumberOrderValue; +import com.fanruan.api.util.GeneralKit; import com.fanruan.api.util.StringKit; +import com.fr.design.editor.editor.Editor; +import com.fr.plugin.db.redis.core.order.impl.NumberOrderValue; import java.awt.*; import java.awt.event.KeyAdapter; @@ -32,7 +31,7 @@ public class IntegerEditor extends Editor { * Constructor. */ public IntegerEditor(NumberOrderValue value, String name) { - this.setLayout(GUICoreKit.createBorderLayout()); + this.setLayout(new BorderLayout()); numberField = new UIIntNumberField(); this.add(numberField, BorderLayout.CENTER); this.numberField.addKeyListener(textKeyListener);