Java 单元格表和css(GWT)
有人能帮我设置一下CellTable行的背景吗 求你了,我整晚都在试着去做,但一直失败,结果失败了 快把我逼疯了。我尝试过调用Java 单元格表和css(GWT),java,gwt,background,Java,Gwt,Background,有人能帮我设置一下CellTable行的背景吗 求你了,我整晚都在试着去做,但一直失败,结果失败了 快把我逼疯了。我尝试过调用setRowStyles(),但是 似乎不起作用,我读到你不能改变 设置样式后,将单元格表格的样式设置为默认样式 一切就绪。 然后我尝试用自己的接口构建一个CellTable CellTableResources在一篇关于这个主题的帖子上看到的,但是 给了我关于未融合的ccs元素的错误消息。。。。我的 css未被混淆是一条明显的错误消息。 现在我不知道该尝试什么,我正式陷
setRowStyles()
,但是
似乎不起作用,我读到你不能改变
设置样式后,将单元格表格的样式设置为默认样式
一切就绪。
然后我尝试用自己的接口构建一个CellTable
CellTableResources在一篇关于这个主题的帖子上看到的,但是
给了我关于未融合的ccs元素的错误消息。。。。我的
css未被混淆是一条明显的错误消息。
现在我不知道该尝试什么,我正式陷入困境
我一直在读关于这个@external的文章,但似乎没有什么帮助。。。甚至不知道外部位应该放在哪里。。。我猜在css中,但像往常一样,当我被卡住时,我会尝试任何东西
TonyK我知道这有多令人沮丧,我也在同一个地方。我已经包括了我用来让它工作的所有步骤。但听起来你就快到了,所以你可能不需要所有这些 正如您提到的,要使用自己的css类名,必须实现com.google.gwt.user.cellview.client.CellTable.Resources并将类的实例传递给CellTable构造函数 单元格表声明
CellTable<MyData> myCellTable = new CellTable<MyData>(10, MyResources.INSTANCE);
图像资源存根
import com.google.gwt.resources.client.ImageResource;
class MyImageResource implements ImageResource {
public static final MyImageResource INSTANCE = new MyImageResource();
@Override public int getHeight() {
return 0;
}
@Override public int getLeft() {
return 0;
}
@Override public String getName() {
return "";
}
@Override public int getTop() {
return 0;
}
@Override public String getURL() {
return "";
}
@Override public int getWidth() {
return 0;
}
@Override public boolean isAnimated() {
return false;
}
}
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.cellview.client.CellTable.Resources;
import com.google.gwt.user.cellview.client.CellTable.Style;
public class MyResources implements Resources {
public static final MyResources INSTANCE = new MyResources();
@Override public ImageResource cellTableFooterBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableHeaderBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableLoading() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSelectedBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortAscending() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortDescending() {
return MyImageResource.INSTANCE;
}
@Override public Style cellTableStyle() {
return MyStyle.INSTANCE;
}
}
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
public interface MyClientBundle extends ClientBundle {
public static final MyClientBundle INSTANCE = GWT.<MyClientBundle>create(MyClientBundle.class);
@Override @Source("path/to/myStyleSheet.css") MyCssResource myCssResource();
}
import com.google.gwt.resources.client.CssResource;
public interface MyCssResource extends CssResource {
@ClassName("myCssClassName") String myCssClassName();
@ClassName("myOtherName") String myOtherCssClassName();
}
.myCssClassName {
background-color: magenta;
/* Yes, you will see when it is working. */
}
@external .myOtherName {
background-color: yellow;
}
资源存根
import com.google.gwt.resources.client.ImageResource;
class MyImageResource implements ImageResource {
public static final MyImageResource INSTANCE = new MyImageResource();
@Override public int getHeight() {
return 0;
}
@Override public int getLeft() {
return 0;
}
@Override public String getName() {
return "";
}
@Override public int getTop() {
return 0;
}
@Override public String getURL() {
return "";
}
@Override public int getWidth() {
return 0;
}
@Override public boolean isAnimated() {
return false;
}
}
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.cellview.client.CellTable.Resources;
import com.google.gwt.user.cellview.client.CellTable.Style;
public class MyResources implements Resources {
public static final MyResources INSTANCE = new MyResources();
@Override public ImageResource cellTableFooterBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableHeaderBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableLoading() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSelectedBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortAscending() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortDescending() {
return MyImageResource.INSTANCE;
}
@Override public Style cellTableStyle() {
return MyStyle.INSTANCE;
}
}
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
public interface MyClientBundle extends ClientBundle {
public static final MyClientBundle INSTANCE = GWT.<MyClientBundle>create(MyClientBundle.class);
@Override @Source("path/to/myStyleSheet.css") MyCssResource myCssResource();
}
import com.google.gwt.resources.client.CssResource;
public interface MyCssResource extends CssResource {
@ClassName("myCssClassName") String myCssClassName();
@ClassName("myOtherName") String myOtherCssClassName();
}
.myCssClassName {
background-color: magenta;
/* Yes, you will see when it is working. */
}
@external .myOtherName {
background-color: yellow;
}
因此,在这一点上,您应该有一个没有样式的Cell tabla Rasa,并且您应该能够在浏览器中检查您的CellTable元素,并将myCssClassName视为无处不在的CSS类名,不模糊
如果此时使用传统方法之一链接到样式表,则应该能够设置“myCssClassName”字符串以与特定样式表相对应
样式表链接
<link href="myStyleSheet.css" rel="stylesheet" type="text/css">
最后,使用CssResource为前面的样式实现提供名称。无论CSS类名是否被混淆,都应该以这种方式注入并使用正确的名称
ClientBundle存根
import com.google.gwt.resources.client.ImageResource;
class MyImageResource implements ImageResource {
public static final MyImageResource INSTANCE = new MyImageResource();
@Override public int getHeight() {
return 0;
}
@Override public int getLeft() {
return 0;
}
@Override public String getName() {
return "";
}
@Override public int getTop() {
return 0;
}
@Override public String getURL() {
return "";
}
@Override public int getWidth() {
return 0;
}
@Override public boolean isAnimated() {
return false;
}
}
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.cellview.client.CellTable.Resources;
import com.google.gwt.user.cellview.client.CellTable.Style;
public class MyResources implements Resources {
public static final MyResources INSTANCE = new MyResources();
@Override public ImageResource cellTableFooterBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableHeaderBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableLoading() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSelectedBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortAscending() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortDescending() {
return MyImageResource.INSTANCE;
}
@Override public Style cellTableStyle() {
return MyStyle.INSTANCE;
}
}
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
public interface MyClientBundle extends ClientBundle {
public static final MyClientBundle INSTANCE = GWT.<MyClientBundle>create(MyClientBundle.class);
@Override @Source("path/to/myStyleSheet.css") MyCssResource myCssResource();
}
import com.google.gwt.resources.client.CssResource;
public interface MyCssResource extends CssResource {
@ClassName("myCssClassName") String myCssClassName();
@ClassName("myOtherName") String myOtherCssClassName();
}
.myCssClassName {
background-color: magenta;
/* Yes, you will see when it is working. */
}
@external .myOtherName {
background-color: yellow;
}
样式表存根
import com.google.gwt.resources.client.ImageResource;
class MyImageResource implements ImageResource {
public static final MyImageResource INSTANCE = new MyImageResource();
@Override public int getHeight() {
return 0;
}
@Override public int getLeft() {
return 0;
}
@Override public String getName() {
return "";
}
@Override public int getTop() {
return 0;
}
@Override public String getURL() {
return "";
}
@Override public int getWidth() {
return 0;
}
@Override public boolean isAnimated() {
return false;
}
}
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.cellview.client.CellTable.Resources;
import com.google.gwt.user.cellview.client.CellTable.Style;
public class MyResources implements Resources {
public static final MyResources INSTANCE = new MyResources();
@Override public ImageResource cellTableFooterBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableHeaderBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableLoading() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSelectedBackground() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortAscending() {
return MyImageResource.INSTANCE;
}
@Override public ImageResource cellTableSortDescending() {
return MyImageResource.INSTANCE;
}
@Override public Style cellTableStyle() {
return MyStyle.INSTANCE;
}
}
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
public interface MyClientBundle extends ClientBundle {
public static final MyClientBundle INSTANCE = GWT.<MyClientBundle>create(MyClientBundle.class);
@Override @Source("path/to/myStyleSheet.css") MyCssResource myCssResource();
}
import com.google.gwt.resources.client.CssResource;
public interface MyCssResource extends CssResource {
@ClassName("myCssClassName") String myCssClassName();
@ClassName("myOtherName") String myOtherCssClassName();
}
.myCssClassName {
background-color: magenta;
/* Yes, you will see when it is working. */
}
@external .myOtherName {
background-color: yellow;
}
样式存根(使用ClientBundle)
应该是这样。我相信还有其他方法可以做同样的事情,但到目前为止,这对我来说很有效。祝你好运,我希望这能为你节省一些时间。多么精彩的回答啊。真是太感谢你了,凯莉。现在我已经完成了任务的第1部分,我用了一种更简单的方法,使我能够最终使用自己的CSS规则来创建GWT CellTable!这里概述了我使用的解决方案:我的第二个任务现在也在这里详细介绍,仍然是关于在CellTable上设置此背景,但更进一步:)很高兴听到您的工作正常。我发现,当我陷入困境时,仅仅知道一个解决方案的存在就能让我重新开始。