redis数据集插件。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

83 lines
3.5 KiB

package com.fr.plugin.db.redis.ui.pool;
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.ui.component.UICheckBox;
import com.fanruan.api.design.ui.component.UILabel;
import com.fanruan.api.design.ui.component.UIIntNumberField;
import com.fanruan.api.design.ui.component.UINumberField;
import com.fanruan.api.design.DesignKit;
import com.fr.plugin.db.redis.core.pool.RedisConnectionPoolConfig;
import javax.swing.*;
import java.awt.*;
/**
* @author richie
* @version 10.0
* Created by richie on 2019-03-21
*/
public class RedisConnectionPoolConfigPane extends BasicPane {
private UIIntNumberField maxTotalNumberFiled;
private UINumberField maxWaitNumberField;
private UIIntNumberField maxIdleNumberField;
private UICheckBox blockWhenExhaustedCheckBox;
private UICheckBox lifoCheckBox;
private UIIntNumberField timeoutNumberField;
public RedisConnectionPoolConfigPane() {
setLayout(new BorderLayout());
maxTotalNumberFiled = new UIIntNumberField();
maxWaitNumberField = new UINumberField();
maxWaitNumberField.setMinValue(-1);
maxWaitNumberField.setMaxDecimalLength(0);
maxIdleNumberField = new UIIntNumberField();
blockWhenExhaustedCheckBox = new UICheckBox();
blockWhenExhaustedCheckBox.setSelected(false);
lifoCheckBox = new UICheckBox();
timeoutNumberField = new UIIntNumberField();
JComponent[][] comps = new JComponent[][]{
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Max_Total") + ":"), maxTotalNumberFiled},
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Max_Wait") + ":"), maxWaitNumberField},
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Max_Idle") + ":"), maxIdleNumberField},
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Block_When_Exhausted") + ":"), blockWhenExhaustedCheckBox},
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Lifo") + ":"), lifoCheckBox},
{new UILabel(DesignKit.i18nText("Plugin-Redis_Pool_Timeout") + ":"), timeoutNumberField}
};
double p = TableLayoutKit.PREFERRED;
double f = TableLayoutKit.FILL;
double[] rowSize = new double[]{p, p, p, p, p, p};
double[] columnSize = new double[]{p, f};
add(GUICoreKit.createTableLayoutPane(comps, rowSize, columnSize), BorderLayout.CENTER);
}
@Override
protected String title4PopupWindow() {
return DesignKit.i18nText("Plugin-Redis_Pool_Config");
}
public void populate(RedisConnectionPoolConfig config) {
maxTotalNumberFiled.setValue(config.getMaxTotal());
maxWaitNumberField.setValue(config.getMaxWait());
maxIdleNumberField.setValue(config.getMaxIdle());
blockWhenExhaustedCheckBox.setSelected(config.getBlockWhenExhausted());
lifoCheckBox.setSelected(config.getLifo());
timeoutNumberField.setValue(config.getTimeout());
}
public void update(RedisConnectionPoolConfig config) {
config.setMaxTotal((int)maxTotalNumberFiled.getValue());
config.setMaxWait((int) maxWaitNumberField.getValue());
config.setMaxIdle((int) maxIdleNumberField.getValue());
config.setBlockWhenExhausted(blockWhenExhaustedCheckBox.isSelected());
config.setLifo(lifoCheckBox.isSelected());
config.setTimeout((int) timeoutNumberField.getValue());
}
}