java - Vaadin 7 中的动态 CSS 编辑

标签 java css gwt web-applications vaadin

我想动态编辑嵌入图像的 css 并使用推送,目的是构建一个网络浏览器游戏,我不想要“工具爆炸”,我正在使用 Hibernate+JPA、Vaadin、ivy和服务器推送工具。

我不想使用 GWT,部分原因是我想要的唯一部分是 Canvas 绘图,这似乎真的太过分了,GWT 非常庞大,我不想在这个阶段简单地学习它这样我就可以绘制 2D 图片并顺利移动它们。

这是我加载图像的方式。

Embedded embedded_1;

....

embedded_1.setSource(new FileResource(
new File(VaadinService.getCurrent().getBaseDirectory().getAbsolutePath()
+"/WEB-INF/images/sun.gif")));

....

mainLayout = new AbsoluteLayout();
mainLayout.addComponent(embedded_1, "top:0.0px;left:0.0px:");

在绝对布局中有一个我想访问的字段。

LinkedHashMap<Component, ComponentPosition>  componentToCoordinates ...

我查看了在我这样做时调用的其他方法

 mainLayout.addComponent(embedded_1, "top:0.0px;left:0.0px:");

而且他们没有做任何特别的事情,(即访问非 java 文件或使用任何动态生成的代码),有一种方法可以清理和验证 CSS,它被包装到 ComponentPosition对象,然后将其毫不客气地放入 HashMap。

为什么我不能访问此 HashMap 并在不更改键本身的情况下对已由键映射的值进行编辑。我想获取一个嵌入式对象并动态更改它的 css 位置,为此我需要做的就是执行代码

componentToCoordinates.get(reference).setString("top:10.0px;left:0.0px;");

我可以动态生成字符串等。

是否有“正确”的方式来执行此操作,还是我必须为此创建自己的解决方案?

最佳答案

我找到了我要找的东西,尽管它不是我预期的形式。

布局 API 中有一个名为 getPosition(Component c) 的方法,它将返回 css 字符串。

然后您可以更改字符串并使用 setPosition(Component c ComponentPosition cp) 将其放回 Map

关于java - Vaadin 7 中的动态 CSS 编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26331279/

相关文章:

java - 在客户端更改选定的 Vaadin 选项卡

java - GWT 中使用 Google 帐户进行授权/身份验证

java - GWT 发生器测序

java - Autowiring SimpMessagingTemplate

java - 将数据从 RecyclerView 适配器传递到另一个 Activity

html - IE9 中的输入按钮图像样式

html - 将鼠标悬停在链接中时如何显示图像?

java - 接口(interface)中的 protected 方法

java - 我可以添加到 JRuby/Rails 项目的 Java 功能示例是什么?

javascript - "insertRule"错误?