Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的Java应用程序中结合HTML和JavaScript_Javascript_Java_Html - Fatal编程技术网

在我的Java应用程序中结合HTML和JavaScript

在我的Java应用程序中结合HTML和JavaScript,javascript,java,html,Javascript,Java,Html,我正在编写一个小型的CBT Java应用程序。这些问题是从本地mySQL数据库读取的。该应用程序动态构建问题以包括下拉列表,并对错误答案提供即时反馈。由于Java的限制,我不得不求助于使用HTML和JavaScript来构造这些问题。现在我有了一个JEditorPane,内置了一个简单的HTML页面: String html = ""; try { html+="<html><head></head>"; html+="<body on

我正在编写一个小型的CBT Java应用程序。这些问题是从本地mySQL数据库读取的。该应用程序动态构建问题以包括下拉列表,并对错误答案提供即时反馈。由于Java的限制,我不得不求助于使用HTML和JavaScript来构造这些问题。现在我有了一个JEditorPane,内置了一个简单的HTML页面:

String html = "";

try
{
    html+="<html><head></head>";
    html+="<body onLoad='tester()'>";
        html+="<div id='stuff'>";
        html+="</div>";
    html+="</body></html>";

    htmlPane.setContentType("text/html");
    htmlPane.setText(html);
}
catch(Exception e)
{
    e.printStackTrace();
    System.out.println("Some problem has occured"+e.getMessage());
}
String html=”“;
尝试
{
html+=“”;
html+=“”;
html+=“”;
html+=“”;
html+=“”;
setContentType(“text/html”);
htmlPane.setText(html);
}
捕获(例外e)
{
e、 printStackTrace();
System.out.println(“出现了一些问题”+e.getMessage());
}
现在,我试图找出如何添加相关的JavaScript来填充“stuff”div。此外,我需要将JavaScript的结果返回给调用Java方法。

您可以使用Nashorn(),它是Java中的一个JavaScript引擎。 您可以在
ScriptEngineManager
的帮助下从Java代码运行JavaScript

但在大多数情况下,将多种技术特别是不同语言混合在一起并不是最好的设计。我非常确信,您可以用纯Java实现这一点

您应该能够使用Swing()中的
FlowLayout
实现这一点

更好的解决办法是这样;

为什么您有Java限制?Javascript无法与Java对话,除非您有某种(如REST)服务可以将信息传递给它。问题是带有下拉列表的字符串。在每个问题的同一位置,可能会有多达5或6个下拉列表不再出现。我无法动态布局JComboxes,所以我求助于Javascript解决方案。我现在只是在学习这种语言,我在大学里接受过一些指导,但从未开发过任何GUI。我还不知道如何在字符串中嵌入JComboBox。在任何给定的字符串中,在不同的位置都会有不同数量的JCombobox,就我所见,JCombobox组件需要位于静态位置。如果我理解正确,您希望文本中的组合框与文本一起浮动,对吗?(术语
字符串
和GUI上绘制的文本之间存在区别。
字符串
是一种数据类型,由GUI上的标签表示)是的,这是正确的。每个问题将是一个可变字数+组合框+可变字数+组合框等…我已经添加了一些链接到我的答案,应该告诉你如何做到这一点