我有表格,我想把它组织成两列。首先是长且可滚动的,其他需要始终保持在右侧。第二列的宽度需要很小,这样就不会占用太多的屏幕空间。
我的代码看起来像这样:
@Order(1000.0)
public class MainBox extends AbstractGroupBox {
@Override
protected TriState getConfiguredScrollable() {
return TriState.FALSE;
}
@Order(1000.0)
public class OfferBox extends SxAbstractGroupBox {
@Override
protected TriState getConfiguredScrollable() {
return TriState.TRUE;
}
@Override
protected int getConfiguredGridColumnCount() {
return 1;
}
@Override
protected int getConfiguredGridX() {
return 0;
}
@Override
protected int getConfiguredGridY() {
return 0;
}
@Override
protected double getConfiguredGridWeightX() {
return 1; // This should stretch this box
}
......
}
@Order(4000.0)
public class ShortCutBox extends AbstractGroupBox {
@Override
protected TriState getConfiguredScrollable() {
return TriState.TRUE;
}
@Override
protected int getConfiguredGridColumnCount() {
return 1;
}
@Override
protected int getConfiguredGridX() {
return 1;
}
@Override
protected int getConfiguredGridY() {
return 0;
}
@Override
protected double getConfiguredGridWeightX() {
return 0; // this defined that box shouldn't stretch
}
@Override
protected int getConfiguredWidthInPixel() {
return 200; // This should give me fix width 200
}
@Order(4100)
public class MyButton1 extends AbstractButton {
}
@Order(4200)
public class MyButton2 extends AbstractButton {
}
....
}
}
但是这种配置给出了这样的布局:
如果我将按钮设置为
@Override
protected int getConfiguredHorizontalAlignment() {
return 1;
}
它看起来是正确的,但问题是框仍然右侧框仍然延伸到左侧,因此滚动并单击字段在左侧面板的右侧不起作用。(黑色矩形内)
我错过了什么?