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

时间:2013-03-14 09:35:41

标签: css gwt

我创建了一个自定义小部件,基本上是一个图像和一个文本标签。 我必须做什么才能使用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代码吗?

1 个答案:

答案 0 :(得分:1)

您可以对flextable使用alignment方法。 例如:

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