在GWT中创建我自己的自定义小部件,并使用我自己的自定义CSS代码对其进行样式化

在GWT中创建我自己的自定义小部件,并使用我自己的自定义CSS代码对其进行样式化,css,gwt,Css,Gwt,我创建了一个自定义小部件,基本上是一个图像和一个文本标签。 我必须做些什么才能设置文本的位置(例如图像的顶部/左侧/底部),而不使用CSS?我的意思是,我的类需要什么方法才能应用CSS样式 我能有一个像这样的css类吗 .ImageAndLabel { imagePosition: top; } 这是我的gwt课程 public class ImageAndLabel extends Composite { private Label label =

我创建了一个自定义小部件,基本上是一个图像和一个文本标签。 我必须做些什么才能设置文本的位置(例如图像的顶部/左侧/底部),而不使用CSS?我的意思是,我的类需要什么方法才能应用CSS样式

我能有一个像这样的css类吗

.ImageAndLabel 
{
     imagePosition: top;
}
这是我的gwt课程

    public class ImageAndLabel extends Composite
    {
        private Label label = new Label();
        private Image img = new Image("/images/pinkBackground.png");
        protected final FlexTable contentTable;

        public ImageAndLabel()
        {
            contentTable = new FlexTable();
            initWidget(contentTable);
            label.getElement().getStyle().setFontSize(40, Unit.PX);
            contentTable.setWidget(0,0,img);
            img.setHeight("200px");
            contentTable.setWidget(0,1,label);
            label.getElement().getStyle().setLeft(0, Unit.PX);
            img.getElement().setId("popupImg");
            label.getElement().setId("popupLabel");
        }

        public void setText(String text)
        {
            label.setText(text);
        }
    }

我想我想要的是我可以创建自己的自定义CSS代码吗?

您可以使用
flextable
方法进行
对齐。
例如:

  flexTable.getFlexCellFormatter().setAlignment(0, 0, 
      HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_MIDDLE);

您可以使用setStyleName(样式)contentTable.setStyleName()??contentTable.setWidget(0,0,标签);setWidget(1,1,img);我不是说如何将样式类与此类关联。我的意思是我可以有一个样式属性声明如下{myownatribute:top;}这是可能的吗?如果是这样,我在属性中输入的值如何应用于我的小部件?我不确定这是否可行-实现您自己的css属性。但是这可能会帮助你假设我想要一个CSS规则,它具有属性{position:imageOnTop;或position:textOnTop;}我必须对我的类做什么才能使上面的CSS有意义,或者我不能创建custon CSS标记?MayoMan,ImageAndLabel在flextable中,无论在何处添加ImageAndLabel,它都会添加到flextable中,因此您必须将css应用于要添加ImageAndLabel的小部件,例如:horizontalPanel.add(new ImageAndLabel),而不是将css应用于horizomtalPanel