GXT 3.0.1 GWT 2.5.1
我正在尝试将文本字段设置为与其旁边的按钮相同的高度,但它不起作用。我已经尝试过TextFields自己的set函数,cointaner Layout函数等等。似乎没有什么能像怀疑那样起作用。
VerticalLayoutContainer layout = new VerticalLayoutContainer();
HBoxLayoutContainer searchContainer = new HBoxLayoutContainer();
searchContainer.setPadding(new Padding(5));
searchContainer.setPack(BoxLayoutPack.CENTER);
BoxLayoutData boxLayout = new BoxLayoutData(new Margins(0, 5, 5, 0));
searchText = new TextField();
searchButton = new TextButton("Search");
searchContainer.add(searchText, boxLayout);
searchContainer.add(searchButton, boxLayout);
searchContainer.setBorders(true);
layout.add(searchContainer);
该代码段并不代表我迄今为止所尝试过的内容。该片段显示了我使用TextField和Button(容器)的上下文。我错过了什么?或者甚至可以像像素一样在固定值上调整高度?我对GXT很陌生。
非常感谢。
答案 0 :(得分:1)
我自己找到了一个无CSS的解决方案。但是感谢geert3的建议,即调查html本身以确定必须调整哪个组件以显示正确的高度。最后,必须修改“输入”字段。为此,我编写了一个扩展Textfield本身的小类,并提供了一种调整输入字段高度的方法。几乎TextFields输入字段的每个属性都可以通过这种方式进行修改。这是解决方案:
public class SearchTextField extends TextField {
public SearchTextField(){
super();
}
public void setInputHeight(int heightValue) {
getInputEl().getStyle().setHeight(20, Unit.PX);
}
public String getInputHeight() {
return getInputEl().getStyle().getHeight();
}
}
或者你可以在一行代码中产生相同的效果。在与问题一起发布的上下文中,解决方案是:
searchText.getCell().getInputElement(searchText.getElement()).getStyle().setHeight(20, Unit.PX);
答案 1 :(得分:0)
试试这个:
searchText.getElement().getStyle().setLineHeight(20, Unit.PX);
如果您想经常这样做(例如对于许多组件),您应该考虑使用CSS来设置文本字段的样式。这包括:
在文本字段中添加样式名称
searchText.addStyleName("mytextfield");
定义mytextfield
类的样式:
.mytextfield { line-height: 20px }