首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java代码中打开TCL gui

在Java代码中打开TCL gui
EN

Stack Overflow用户
提问于 2013-04-18 05:35:41
回答 2查看 570关注 0票数 2

我有一个TCL文件,它使用Tcl的BWidget包,我一直使用它作为我的程序的图形用户界面。我现在希望能够从一个单独的Java程序加载这个GUI。我研究过Jacl和Swank,但它们似乎并不完全符合我的要求。

我尝试使用Jacl执行以下操作,但无法评估该文件。在调试时,我可以看到它完成了对tcl文件的解析,但在解析BWidget包tcl文件时抛出了异常。下面是我的Java代码:

代码语言:javascript
复制
Interp interp = new Interp();
try {
    interp.evalFile("C:\\CTP\\Tcl\\LuxonCtp32.tcl");
} catch (TclException ex) {
    int code = ex.getCompletionCode();
    System.err.println("command returned bad error code: " + code);
} finally {
    interp.dispose();
}

关于如何完成我想做的事情,你有什么建议吗?这有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2013-04-18 05:46:19

Tcl本身不能显示GUI。它使用了一个名为Tk的插件。

在Tcl的C参考实现中,你也可以得到Tk。

Tk还没有移植到Java,而Tcl已经移植到了Java。

您不能使用Jacl来显示Tk小部件,但TclBlend可以这样做,因为TclBlend使用Tcl的C参考实现。这意味着用户需要一个可以工作的Tcl/Tk安装。

TclBlend和Tcl >8.5through存在一些问题,这会导致段故障。

IIRC你必须在TclBlends C代码中删除Tcl_FindNameOfExecutable周围的条件if (然后自己编译)。

票数 0
EN

Stack Overflow用户

发布于 2014-12-10 08:01:59

请访问此站点http://jtcl-project.github.io/jtcl/并立即下载二进制压缩包。它是github上最新的名为Jtcl的java tcl。解压它,您将找到一个名为jtcl-2.7.0.jar的jar。我使用的是我喜欢的Netbeans 8。我将jar添加到Project Library中。我创建了一个名为JTclHallo.java的java文件,代码如下。

代码语言:javascript
复制
package jtclhallo;
// import tcl.lang it belongs to jtcl-2.7.0 jar a must

import tcl.lang.*;

 // Java wrapper to test JACL or JTCL.

public class JTclHallo {
    public static void main(String []args) {

        //Interp is a java class belonging to tcl.lang. Unrar the jtcl-2.7.0

        Interp i = new Interp();


        try {

            //call your tcl file mine was swing.tcl from the E drive
            i.eval("source E:/private/swing.tcl");
            } catch (TclException e) {
            System.out.println("Exception: " + e.getMessage());
            }

    }
 }

对于swing.tcl

代码语言:javascript
复制
package require java

set window [java::new javax.swing.JFrame]
$window setSize 600 400
$window setVisible true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16070675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档