JAR 库的访问点是一个扩展
Library
类的类。 库的主要工作是列出通过库可用的工具; 大多数情况下,这些工具都是用于添加定义的各种组件的工具 - 即与不同组件工厂一起使用的
AddTool
类的实例。
package com.cburch.gray; import java.util.Arrays; import java.util.List; import com.cburch.logisim.tools.AddTool; import com.cburch.logisim.tools.Library; /** The library of components that the user can access. */ public class Components extends Library { /** The list of all tools contained in this library. Technically, * libraries contain tools, which is a slightly more general concept * than components; practically speaking, though, you'll most often want * to create AddTools for new components that can be added into the circuit. */ private List<AddTool> tools; /** Constructs an instance of this library. This constructor is how * Logisim accesses first when it opens the JAR file: It looks for * a no-arguments constructor method of the user-designated class. */ public Components() { tools = Arrays.asList(new AddTool[] { new AddTool(new GrayIncrementer()), new AddTool(new SimpleGrayCounter()), new AddTool(new GrayCounter()), }); } /** Returns the name of the library that the user will see. */ public String getDisplayName() { return "Gray Tools"; } /** Returns a list of all the tools available in this library. */ public List<AddTool> getTools() { return tools; } }
Next: Simple Gray Code Counter .