文件选择器提供了一个简单的机制,用于浏览文件系统。
文件选择器以两种替代模式工作:
- 上传。允许用户浏览文件系统并选择所需的文件。文件将上传到模型文件夹。当文件上传时,将执行文件选择器的动作。在动作代码中,您可以访问文件,例如读取模型的输入参数。
- 下载。用户指定文件名。在模型运行时,文件选择器等待指定名称的文件出现在文件系统中。一旦文件可用,文件选择器变为可用状态。通过点击文件选择器,用户可以下载指定的文件。
您可以查看一个简单的演示模型,其中文件选择器与文本文件元素结合使用,使用户能够在启动模型之前选择一个文件(例如,带有模型参数的文件)。 **演示模型:**文件选择器用于文本文件,打开AnyLogic Cloud中的模型页面。在那里,您可以运行模型或下载它(通过点击模型源文件)。
要添加文件选择器:
- 将文件选择器元素从控件面板拖到图形编辑器中。
- 从类型按钮组中,选择文件选择器对话框的类型。如果您想弹出一个文件选择器以上传文件(典型用例;在模型开始前读取数据),请选择上传。如果您使用文件选择器上传文件,上传的文件将进入模型文件夹,并且只能以只读模式访问。
- 否则,使用下载允许用户选择一个文件进行下载。
- 在标题框中,指定将打开的对话框的标题。
- 在动作字段中,输入Java代码,该代码将在每次使用此文件选择器上传/下载文件时执行。此代码可以从文件中读取数据并在模型中使用它们。当前选定文件的相对文件名在这里作为值(类型为String的局部变量)可用。
属性
通用
名称 — 文件选择器的名称。用于从代码中标识和访问控件。
忽略 — 如果选中,文件选择器将从模型中排除。
在上层代理上可见 — 如果选中,该控件也将在包含此代理的上层代理上可见。
类型 — 对话框的类型。选择上传,如果您想弹出一个文件选择器,使用户能够将文件上传到模型文件夹(并可选择从文件中读取数据)。同样,使用下载让用户选择一个文件进行下载。
标题 — 对话框的标题。
文件名过滤器 — [如果类型设置为上传可见] 在这里指定文件选择器的文件类型过滤器。文件选择器将仅显示并允许用户上传指定类型的文件。您可以指定文件扩展名列表作为过滤器,例如:.png, .jpeg, .jpg。
文件 — [如果类型设置为下载可见] 此文件选择器要下载的文件的完整名称。
动作 在这里,您可以输入代码,每次用户使用此文件选择器上传/下载文件时都会执行。当前选定文件的相对文件名在这里作为值(类型为String的局部变量)可用。在动作代码中,您可以例如从上传的文件中读取数据并将其用于模型。
外观
背景颜色 — 控件指定文件选择器的背景颜色。点击控件内部,并从最常用的颜色集合中选择一种颜色,或使用颜色对话框选择自定义颜色。在Windows经典外观下,背景颜色显示正确。然而,某些操作系统可能不支持具有用户定义背景颜色的文件选择器。
文本颜色 — 控件指定显示文件选择器形状内选定文件名的文本颜色。点击控件内部,并从最常用的颜色集合中选择一种颜色,或使用颜色对话框选择自定义颜色。
字体 — 指定显示文件选择器形状内选定文件名的文本的字体系列。您可以在右侧的字段中调整文本的大小(pt.)。
斜体 — 如果选中,文件选择器形状内显示的选定文件名称将为斜体。
粗体 — 如果选中,文件选择器形状内显示的选定文件名称将使用粗体强调。
位置和大小
级别 — 此控件所属的级别。
X — 控件左上角的X坐标。
Y — 控件左上角的Y坐标。
宽度 — 控件的宽度(以像素为单位)。
高度 — 控件的高度(以像素为单位)。
高级
可见 — 控件的可见性。当指定的表达式计算结果为true时,控件可见,否则不可见。
复制 — 在这里指定您想要创建的此控件的副本数量。如果留空此字段,则只创建一个此类控件。
显示名称 — 如果选中,控件的名称将在演示图上显示。
图标 — 如果选中,文件选择器将被视为代理图标的一部分。
函数
值
函数 | 描述 |
---|---|
String getValue() | 返回当前选定的文件名,如果没有选择文件则返回空字符串。 |
void setValue(String fileName) | 将选定的文件名设置为给定的fileName。<br>不执行用户动作代码。<br>fileName — 文件名。 |
void setValue(String fileName, boolean callAction) | 将选定的文件名设置为给定的fileName。<br>如果callAction参数为true,则执行用户动作代码(如果存在)。<br>fileName — 文件名。<br>callAction — 如果为true,将执行用户动作代码(如果存在)。 |
void setValueToDefault() | 将文件选择器的选定文件名设置为默认提供的文件名。<br>不执行用户动作代码。 |
启用或禁用
函数 | 描述 |
---|---|
boolean isEnabled() | 测试控件是否启用或禁用。如果启用,则返回true,否则返回false。 |
void setEnabled(boolean yes) | 设置控件为启用或禁用。<br>yes — 如果为true,控件将被启用,如果为false — 禁用。 |
执行动作
函数 | 描述 |
---|---|
void action() | 执行与文件选择器关联的动作。 |
位置
函数 | 描述 |
---|---|
double getX() | 返回控件的X坐标(即,其左上角的X坐标)。 |
double getY() | 返回控件的Y坐标(即,其左上角的Y坐标)。 |
void setX(double x) | 设置控件的X坐标。<br>x — X坐标的新值。 |
void setY(double y) | 设置控件的Y坐标。<br>y — Y坐标的新值。 |
void setPos(double x, double y) | 为控件设置新的坐标。<br>x — x坐标的新值。<br>y — y坐标的新值。 |
大小
函数 | 描述 |
---|---|
double getWidth() | 返回控件的宽度,以像素为单位。 |
double getHeight() | 返回控件的高度,以像素为单位。 |
void setWidth(double width) | 将控件的宽度设置为width。 |
void setHeight(double height) | 将控件的高度设置为height。 |
可见性
函数 | 描述 |
---|---|
boolean isVisible() | 返回控件的可见性。 |
void setVisible(boolean v) | 设置控件的可见性。<br>v — 可见性:如果为true — 控件将被设置为可见,如果为false — 不可见。 |
组
函数 | 描述 |
---|---|
ShapeGroup getGroup() | 返回包含此控件的组。 |
级别
函数 | 描述 |
---|---|
Level getLevel() | 返回此控件所在的级别。 |