插件开发工具库,推荐依赖该工具库。
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.
 
 

114 lines
2.8 KiB

package com.fanruan.api.design.ui.editor;
import com.fanruan.api.design.DesignKit;
import com.fanruan.api.design.work.component.IntComboBox;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
/**
* @author richie
* @version 10.0
* Created by richie on 2019/11/1
* 列序号编辑器:里面是一排连续的整数(0-n)
*/
public class TypeColumnIndexEditor extends BaseEditor<Object> {
IntComboBox valueColumnIndexComboBox;
public TypeColumnIndexEditor() {
this(0);
}
/**
* 默认名字是“列序号”,也可以通过第二个构造函数改变
*
* @param value 边界值
*/
public TypeColumnIndexEditor(int value) {
this(value, DesignKit.i18nText("Fine-Design_Basic_Datasource_Column_Index"));
}
public TypeColumnIndexEditor(int value, String name) {
this.setLayout(new BorderLayout(0, 0));
valueColumnIndexComboBox = new IntComboBox();
for (int i = 1; i <= value; i++) {
valueColumnIndexComboBox.addItem(i);
}
if (value > 0) {
valueColumnIndexComboBox.setSelectedInt(1);
}
this.add(valueColumnIndexComboBox, BorderLayout.CENTER);
this.setName(name);
valueColumnIndexComboBox.setBorder(null);
}
@Override
public IntComboBox getSwingComponent() {
return valueColumnIndexComboBox;
}
@Override
public Integer getValue() {
return valueColumnIndexComboBox.getSelectedInt();
}
@Override
public void setValue(Object value) {
valueColumnIndexComboBox.setSelectedInt(value == null ? 0 : Integer.parseInt(value.toString()));
}
public String getIconName() {
return "ds_column_index";
}
/**
* object参数是否是Integer
*
* @param object 传进来用于判断的参数
* @return 返回是否是Index
*/
public boolean accept(Object object) {
return object instanceof Integer;
}
/**
* 增加一个ItemListener
*
* @param l 用于增加的Listener
*/
public void addItemListener(ItemListener l) {
valueColumnIndexComboBox.addItemListener(l);
}
/**
* 增加一个ActionListener
*
* @param l 用于增加的Listener
*/
public void addActionListener(ActionListener l) {
valueColumnIndexComboBox.addActionListener(l);
}
/**
* 重置
*/
public void reset() {
valueColumnIndexComboBox.setSelectedIndex(-1);
}
/**
* 清除所有项
*/
public void clearData() {
valueColumnIndexComboBox.removeAllItems();
}
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
valueColumnIndexComboBox.setEnabled(enabled);
}
}