|
|
@ -10,6 +10,7 @@ import com.fr.design.dialog.FineJOptionPane; |
|
|
|
import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; |
|
|
|
import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; |
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
import com.fr.log.FineLoggerFactory; |
|
|
|
import com.fr.log.FineLoggerFactory; |
|
|
|
|
|
|
|
import com.fr.module.ModuleContext; |
|
|
|
import com.fr.stable.ArrayUtils; |
|
|
|
import com.fr.stable.ArrayUtils; |
|
|
|
import com.fr.stable.Filter; |
|
|
|
import com.fr.stable.Filter; |
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
import com.fr.stable.StringUtils; |
|
|
@ -26,7 +27,6 @@ import javax.swing.tree.TreeNode; |
|
|
|
import javax.swing.tree.TreePath; |
|
|
|
import javax.swing.tree.TreePath; |
|
|
|
import java.util.Enumeration; |
|
|
|
import java.util.Enumeration; |
|
|
|
import java.util.concurrent.ExecutorService; |
|
|
|
import java.util.concurrent.ExecutorService; |
|
|
|
import java.util.concurrent.Executors; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 实现模糊搜索表名的FRTreeComboBox |
|
|
|
* 实现模糊搜索表名的FRTreeComboBox |
|
|
@ -43,7 +43,7 @@ public class TableSearchTreeComboBox extends FRTreeComboBox { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* 保证模糊搜索的原子性操作 |
|
|
|
* 保证模糊搜索的原子性操作 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private final ExecutorService singleExecutor = Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory("TableSearchTreeComboBox")); |
|
|
|
private final ExecutorService singleExecutor = ModuleContext.getExecutor().newSingleThreadScheduledExecutor(new NamedThreadFactory("TableSearchTreeComboBox")); |
|
|
|
|
|
|
|
|
|
|
|
public TableSearchTreeComboBox(ChoosePane parent, JTree tree, TreeCellRenderer renderer) { |
|
|
|
public TableSearchTreeComboBox(ChoosePane parent, JTree tree, TreeCellRenderer renderer) { |
|
|
|
super(tree, renderer); |
|
|
|
super(tree, renderer); |
|
|
|