Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gwt 将组合的宽度设置为其容器的百分比_Gwt - Fatal编程技术网

Gwt 将组合的宽度设置为其容器的百分比

Gwt 将组合的宽度设置为其容器的百分比,gwt,Gwt,我有两个组合小部件,它们都具有动态调整对象大小的功能 当我实例化一个复合小部件时,我希望它以百分比的形式填充它的容器,比如说80% 小部件中的每个对象都会增长,以适应组合的大小,但组合本身不会随着其容器的百分比而增长 这可能吗?我尝试了.setWidth()方法,但无法识别%asd作为参数 我没有在复合小部件类中设置大小 我有一个调用类,它实例化复合小部件,然后对新对象调用setWidth()方法 我将尝试你的方法,如果它有效,然后应用到我的问题。一旦我有更多的信息,我会再次发布 谢谢你的帮助

我有两个组合小部件,它们都具有动态调整对象大小的功能

当我实例化一个复合小部件时,我希望它以百分比的形式填充它的容器,比如说80%

小部件中的每个对象都会增长,以适应组合的大小,但组合本身不会随着其容器的百分比而增长

这可能吗?我尝试了.setWidth()方法,但无法识别%asd作为参数


我没有在复合小部件类中设置大小

我有一个调用类,它实例化复合小部件,然后对新对象调用setWidth()方法

我将尝试你的方法,如果它有效,然后应用到我的问题。一旦我有更多的信息,我会再次发布


谢谢你的帮助:-)

当然可以。复合setWidth()方法也可以识别%s。你能给我你正在使用的示例代码吗?请确保setWidth()方法的调用必须在复合的initwidget()调用之后

public class Widget1 extends Composite{
 private VerticaPanel panel=new VerticalPanel();
 public Widget1(){
   initWidget(panel);
   setWidth("80%");
   panel.add(new Widget2());
  }
} 

public class Widget2 extends Composite{
 private VerticaPanel panel=new VerticalPanel();
 public Widget2(){
   initWidget(panel);
   setWidth("100%");
  }
} 

下面是我的测试组合类:

 **class CompositePane extends Composite {
//Define a panel that contains everything
private VerticalPanel compositePanel = new VerticalPanel();
private Button button1 = new Button("Button1");


public CompositePane(){//Start StatusPane constructor

    compositePanel.add(button1);
    initWidget(compositePanel);
    setWidth("100%");
    addStyleName("compositePanel");

}//End of StatusPane constructor


}//End of StatusPane class**
以下是附加到此对象的我的样式,显示复合对象的边:

 .compositePanel{

 **border: 5px solid black;

}**
使用设定的像素值时,边框将按预期展开


当使用100%时,它紧紧地围绕着按钮,我需要它接触容器的外部边缘。

谢谢。您要在此处添加此复合面板。setWidth(“100%”)方法使此CompositePanel使用它的父级宽度为100%。因此,在您的情况下,它的父级宽度较小。尝试以下示例。您将了解在代码中要执行的操作。现在,边框宽度将为800px

VerticalPanel parentPanel=new VerticalPanel();
parentPanel.setWidth("800");
parentPanel.add(new CompositePanel());
RootPanel.get().add(parentPanel);