为具有GWT / HTML的类添加/样式div

时间:2013-11-28 04:00:51

标签: java jquery html css gwt

我对GWT很新,而且我一直在寻找并尝试所有答案,但我仍然找不到答案。

我的问题: 我们目前正在研究GWT中的功能调度系统,并且我正在尝试设计前端。我们目前有4个班级(+一个主班)为4个不同的"观看"在网页上。时间表,导航器,书签部分和搜索。 我的问题:有没有办法让这些类(或小部件)中的每一个都成为我在html / css中创建的div类的位置。

GWT生成的当前html / css是:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link type="text/css" rel="stylesheet" href="Main.css">
    <script type="text/javascript" language="javascript" src="main/main.nocache.js"></script>
  </head>

  <body>

    <!-- OPTIONAL: include this if you want history support -->
    <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
  </body>
</html> 

有没有办法可以让GWT为每个类生成一个div,你可以将它们嵌入到你已经制作的不同的css / html代码中?

例如: 在日历部件上添加导航栏。

2 个答案:

答案 0 :(得分:0)

是的,您的视图可以非常继承div属性...为您的属性提供ID,即那些将继承主页位置的属性。

答案 1 :(得分:0)

我正在使用GWT框架进行开发,我认为你不能混淆。 GWT使您能够用Java创建所有视图(即使是css样式,即使它在css样式表中更清晰(也可能))。你应该看看这个页面:GWT Project - Layouts

在一个坚果中,你的四个类应该扩展名为Widget的类。完成后,您可以创建(例如)DockLayoutPanel,它将是您的主要容器。请参阅下面的一个简单示例(来自here):

public class DockLayoutPanelExample implements EntryPoint {

 public void onModuleLoad() {
        // Attach five widgets to a DockLayoutPanel, one in each direction. Lay
        // them out in 'em' units.
        DockLayoutPanel p = new DockLayoutPanel(Unit.EM);
        p.addNorth(new HTML("north"), 2);
        p.addSouth(new HTML("south"), 2);
        p.addEast(new HTML("east"), 2);
        p.addWest(new HTML("west"), 2);
        p.add(new HTML("center"));

        // Attach the LayoutPanel to the RootLayoutPanel. The latter will listen for
        // resize events on the window to ensure that its children are informed of
        // possible size changes.
        RootLayoutPanel rp = RootLayoutPanel.get();
        rp.add(p);
      }
    }

在这里,他们将HTML对象(html中的等价物基本上是div)添加到布局中。不要添加HTML对象,而是添加扩展Widget的四个对象。

在GWT中,每个Java对象都有一个HTML或Javascript的等价物,这个转换是在编译过程中完成的。