是否有任何好的教程或喜欢与此声明?我还没有用Java编写任何脚本,尽管我已经熟悉了JavaScript.谢谢.基本上,我想使用JavaScript/XML来处理我的项目的一部分.我知道Java 8通过Nashorn引入了JavaScript支持.我想知道它是如何工作的.我知道它涉及使用javax.script,但我不知道该包是如何工作的,也不知道Nashorn是如何工作的.
所以我正在写一个游戏,我遇到了一个难题,我相信Reflection可能是一个更好的解决方案.但是知道反映是不鼓励的,而我的另一个解决方案看起来并不那么漂亮,我想我会在这里问一下,看看在这种情况下什么是更好的主意.
基本上我有一个抽象卡类,并将有几个实现.我有一个案例,我给了一个名片,需要构建一个对象,只是给出了名字.
我知道我可以使用:
a)反射和使用forName并调用.这将是非常短的代码,可以很好地扩展,并且易于编写.那就是说,它是反思,当我不特别需要时,我就是为了避免它.
b)使用Factory设计模式,然后进行巨大的条件检查,根据我提供的名称调用相应的类.编写起来并不困难,但需要不断的维护,并且需要一段时间才能编写,而且编程也不会很好.也就是说,这是一个非反射解决方案.
那么理想的解决方案是什么?我只是使用Reflection,因为它使我的代码保持良好和简短吗?
所以我已经有了 Flask + jinja 的设置,我试图在 jinja 渲染的 html 文件中显示图像。
在 Python 中,我将其转换为 base64,然后将其发送到模板。然后我使用图像标签来显示图像。
<img src="data:image/jpeg;base64,{{ myimage }}">
Run Code Online (Sandbox Code Playgroud)
我已经确认Python编码是正确的,当我简单地编写嵌入了base64的html文件时,它会按应有的方式显示。似乎失败的地方是模板对输出进行了一些修改。尤其:
<img src=3D"data:;base64,/9j/4QAYR
...
baW4WqWj/2Q=3D=3D"/>
Run Code Online (Sandbox Code Playgroud)
Jinja 似乎在搞鬼,在几个看起来不应该的地方添加了 3D 文本。我没有指定任何不同的内容,当我将 myimage 作为文本打印出来时,它按照我预期的方式出现,以 /9j 开头并以 /2Q== 结尾
我不确定我在 Jijna 中解释它的方式是否有问题,但它就是不加载。我在电子邮件源中看到图像 src 标签,但没有任何我期望加载图像的地方。
我正在尝试在我的GUI中显示卡片,我想重叠卡片以节省空间.但是,我似乎无法让它发挥作用.我目前正在使用MigLayout,虽然感觉它更像是JLabel问题而不是其他问题.
要想在高层次上进行描述,请考虑在现实生活中玩纸牌游戏.当您正常拿着卡片时,您只需要看到卡片的一部分,因此大部分卡片都被另一张卡片重叠,等等,直到最终卡片完全显示,因为它上面没有任何东西.我希望以一种只显示下面部分卡片的方式重叠,然后完全显示顶部卡片.
当前的问题是,当我将JLabel添加到JPanel时,它会将最新的标签放在已经存在的标签后面.我希望它在已经存在的前面.我似乎无法找到允许我设置哪个标签在前面的任何方法.
我想做的事情如下:
将card1放入单元格0 0将card2放入单元格0 0并转置y位置任何两个卡片重叠的区域都有card2在顶部
简单地添加它就可以了,它表明了组件显示的先到先得优先权.我宁愿拥有最后的,先到先得的优先权.就像我说的那样,我没有运气试图找到一种允许任何这种方法的方法.
如果有任何不明之处,请告诉我.提前致谢.