有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用GWT编程设置CSS类的宽度?

我正在使用GWT应用程序,我有一个bug:我的button browse(是FileUploadField类)的宽度比正常情况下要大,请看:

enter image description here

当我检查元素并将元素的宽度设置为20px时,一切正常。但我不知道如何在GWT中以编程方式进行设置(CSS中该类的名称为“x-form-file”),我尝试了一些来自internet的解决方案,如:

 fileUploadField = new FileUploadField();
        fileUploadField.setAllowBlank(false);
        fileUploadField.setName("uploadedFile");
        fileUploadField.setFieldLabel("File");
        fileUploadField.getElement().getStyle().setProperty("width", "20px");

但是没有成功。有人能帮助我如何在我的gwt代码中以编程方式获得css中的类吗


共 (2) 个答案

  1. # 1 楼答案

    您需要创建一个CSS客户端包(一个接口),如下所示:

    interface MyCss extends CssResource {
      String className();
    }
    

    之后,您需要将此捆绑包作为实例变量放在类中:

    @UiField MyCss风格

    然后在代码中,可以使用以下方法添加样式: 文件上传字段。addStyleName(style.className())

    在代码中使用css某种程度上是样板,例如,详细示例请查看GWT网站:LINK

  2. # 2 楼答案

    1. 您可以将.x-form-file { width :20px;}添加到项目的样式中。css这将覆盖样式

    2. 你可以试试:fileUploadField.getElement().getStyle().setWidth(20, Unit.PX);

    拉兹