DMeltWorkbench使用指南
立即解锁
发布时间: 2025-08-19 01:19:30 阅读量: 2 订阅数: 9 


Java平台上的数值计算与数据分析
# DMelt Workbench使用指南
## 1. 访问实例方法
在DMelt中,用户可以通过不同方式查看实例的可用方法。
### 1.1 BeanShell中查看
在BeanShell中,用户可以通过输入`obrowser`来打开一个包含所有对象的对象浏览器窗口。若要添加某个对象,可使用`obrowser.add(obj)`,其中`obj`是Java类的一个实例。示例代码如下:
```python
>>> obrowser
>>> obj=new JLabel("OK")
>>> obrowser.add(obj)
```
### 1.2 JythonShell中查看
在JythonShell中,用户可以使用代码辅助功能(见后续介绍)或Python的`dir("obj")`方法。DMelt的代码辅助功能在BeanShell中不可用,此时应使用`obrowser`类。也可以通过运行`macros/system`目录下的`obrowser.bsh`或`obrowser.py`脚本来手动执行`obrowser`类。
## 2. 编辑Jython脚本
编辑Jython脚本可按以下步骤进行:
### 2.1 创建新文件
有几种创建扩展名为`.py`的新文件的方法:
- 选择主菜单中的`[File]-[New]-[jHPlot script]`,会出现一个新的Jython脚本模板。
- 使用菜单`[File]-[New]-[Text document]`,然后将其保存为扩展名为`.py`的Jython文件。
- 在文件浏览器中点击任何扩展名为`.py`的Jython文件。
### 2.2 检查语法错误
如果用户的分析程序脚本已准备好,在保存之前,可以检查语法错误而无需实际执行宏文件。查看`[Run]`菜单并选择`[Check Jython syntax]`。若有错误,IDE会指向有错误的行。但语法检查器无法识别运行时错误,即脚本执行期间可能发生的错误。确认没有错误后,再次使用`[File]`菜单保存文件。
## 3. 运行Jython脚本
运行Jython脚本有以下几种方式:
### 3.1 整体运行
使用DMelt主工具栏上的`[run]`按钮,也可以使用键盘上的`[F8]`键进行快速脚本执行。若出现错误,DMelt主编辑器会将光标移动到检测到错误的相应行,按任意键可移除行高亮显示(红色)。
### 3.2 逐行运行
还可以使用主工具栏的`[run]`菜单逐行执行Jython文件。
### 3.3 输出注意事项
在执行过程中,所有程序输出将重定向到JythonShell窗口。需要注意的是,JythonShell主要是一个调试工具,不适合处理非常大量的输出。例如,运行以下简单的Jython程序:
```python
for i in range(1000000):
print "Test=",i
```
将这些行保存到`test.py`文件中,然后在DMelt编辑器中打开并点击`[run]`按钮运行,会立即看到IDE右上角的内存监视器显示内存使用量增加。因此,应尽量避免此类情况。如果需要调试这样的循环,可以使用少量迭代。如果仍然想运行多次迭代的循环,不应在循环的每次迭代中打印大量调试消息。例如,可以每100次迭代打印一次状态行:
```python
for i in range(1000000):
if i%100 == 0: print "Test=",i
```
## 4. DMelt IDE的宏文件
在Jython程序中,可以完全访问DMelt编辑器中看到的文本,甚至可以使用交互式shell将文件加载到编辑器中。
### 4.1 显示文本文件
使用IDE的JythonShell显示文本文件,只需输入以下行:
```python
>>> view.open("news.html",0)
```
这会在编辑器的新标签中打开`news.html`文件。`view`对象代表DMelt IDE的“编辑器”文本组件,该实例在IDE启动时默认导入。可以使用`dir(view)`方法查找此编辑器实例的方法。
### 4.2 文本操作示例
假设文件已加载到编辑器中,可使用JythonShell中的以下命令进行操作:
```python
>>> view.selectAll() # 选择编辑器中的所有文本
>>> mydoc=view.getText() # 将文本获取到mydoc字符串中
>>> view.setText(" ") # 清空编辑器
>>> view.setText("text") # 设置新文本
```
若要查找并替换字符串,可按以下代码操作:
```python
>>> mydoc=mydoc.replace("old","new");
>>> view.setText(mydoc)
```
还可以找到当前插入点位置并在指定位置插入文本:
```python
>>> cc=view.getCaretPosition()
>>> view.insertString("inserted text", 4)
```
其中“4”是文本将插入的位置。可以使用`view.goToLine(line)`方法将插入点移动到特定行,其中`line`是行号。当然,也可以使用标准方法了解`view`类,如:
```python
>>> type(view)
>>> dir(view)
```
## 5. 运行BeanShell脚本
运行BeanShell脚本和Java源代码的方式与上述Jython脚本类似。要记住为BeanShell程序使用`.bsh`文件扩展名。不过,与JythonShell相比,DMelt对BeanShell脚本的错误处理功能没那么强大。和Jython脚本一样,`[F8]`键可用于快速执行BeanShell脚本。执行期间,脚本的输出将重定向到BeanShell窗口。
## 6. 编译和运行Java代码
### 6.1 编译Java代码
Java文件的编辑方式与Jython宏类似。可以使用`[Run]`工具栏菜单中的`[Run]-[Javac current file]`将Java源代码编译成字节码。同样,也可以编译位于同一目录中的所有Java源代码或构建Java jar库。
### 6.2 不使用主文本编辑器运行Jython脚本
若要在不使用主文本编辑器的情况下从DMelt运行Jython脚本,可以将`CLASSPATH`变量设置为`lib`目录中的库。要运行一个Jython文件,例如`file.py`,可从Linux/UNIX或Mac终端运行以下命令:
```bash
bash#: dmelt_batch.sh file.py
```
## 7. DMelt代码辅助
DMelt提供了几种访问Java类文档的方法,以下是一些在处理Jython代码时常用的方法:
### 7.1 使用点方法
#### 7.1.1 JythonShell中
在JythonShell中,当用户在对象名称后输入一个点,然后按住`[Ctrl]`键并按下`[Space]`键,会显示与该对象关联的所有方法的表格。例如:
```python
>>> obj. # 按 [Ctrl]+[Space] 获取帮助
```
#### 7.1.2 代码编辑器中
对于加载到代码编辑器中的文件,帮助系统的工作方式有所不同。此时,当用户输入某个对象名称后接一个点,可使用`[F4]`键检查与该对象关联的方法。例如:
```python
>>> from jhplot import P0D
>>> obj=P0D() # 创建一个Java对象
>>> obj. # 按 [F4] 获取P0D方法
>>> obj="string" # 创建一个Jython对象
>>> obj. # 按 [F4] 获取 "str" 方法
```
按下`[F4]`键后,会显示属于特定Jython或Java类的所有方法的表格。还可以使用代码辅助的弹出表格搜索特定方法,可使用标准的Java正则表达式。若要对方法行进行排序,可点击列标题。然后可以通过双击或使用鼠标菜单将选定的方法推送到文本编辑器,选定的方法将插入到点之后的代码行中。代码辅助
0
0
复制全文
相关推荐










