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
Java 复合块的SWT GridLayout和GridData对齐_Java_User Interface_Swt - Fatal编程技术网

Java 复合块的SWT GridLayout和GridData对齐

Java 复合块的SWT GridLayout和GridData对齐,java,user-interface,swt,Java,User Interface,Swt,我知道我有布局,但我在设置相邻的achivementsChild时有问题。我想做一些调整或类似的事情。现在他们一个站在另一个下面,我想把一个放在另一个旁边 TabItem tbtmStudent = new TabItem(tabFolder_1, SWT.NONE); tbtmStudent.setText("Student"); ScrolledComposite scrolledComposite_1 = new ScrolledComposite(tabFolder_1, SWT.BO

我知道我有布局,但我在设置相邻的achivementsChild时有问题。我想做一些调整或类似的事情。现在他们一个站在另一个下面,我想把一个放在另一个旁边

TabItem tbtmStudent = new TabItem(tabFolder_1, SWT.NONE);
tbtmStudent.setText("Student");

ScrolledComposite scrolledComposite_1 = new ScrolledComposite(tabFolder_1, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
scrolledComposite_1.addMouseWheelListener(new MouseWheelListener() {
    public void mouseScrolled(MouseEvent e) {

        scrolledComposite.setFocus();
    }   
});

tbtmStudent.setControl(scrolledComposite_1);
scrolledComposite_1.setExpandHorizontal(true);
scrolledComposite_1.setExpandVertical(true);


List<STUDENT> allSTUDENTNodes = currentData.getStudentNodes();

Composite studentChild = new Composite(scrolledComposite_1, SWT.NONE);
studentChild.setLayout(new GridLayout());

for(STUDENT studentNode: allSTUDENTNodes){

    new STUDENTNode(studentChild, SWT.NONE, studentNode);

    Composite achivementsChild = new Composite(scrolledComposite_1, SWT.DEFAULT);
    achivementsChild.setLayout(new GridLayout());

    for(Achivements achivementsNode: studentNode.getAchivements()){
        new AchivementsNode(mscbcChild, SWT.NONE, achivementsNode);
    }
}
scrolledComposite_1.setContent(studentChild);
scrolledComposite_1.setMinSize(studentChild.computeSize(SWT.DEFAULT, SWT.DEFAULT));
TabItem tbtmStudent=新的TabItem(tabFolder_1,SWT.NONE);
tbtmStudent.setText(“学生”);
ScrolledComposite ScrolledComposite_1=新的ScrolledComposite(选项卡文件夹_1,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
scrolledComposite_1.addMouseWheelListener(新的MouseWheelListener(){
公共空鼠标滚动(MouseEvent e){
scrolledComposite.setFocus();
}   
});
tbtmStudent.setControl(scrolledComposite_1);
scrolledComposite_1.setExpandHorizontal(真);
scrolledComposite_1.setExpandVertical(真);
列出allSTUDENTNodes=currentData.getStudentNodes();
复合studentChild=新复合(scrolledComposite_1,SWT.NONE);
setLayout(新的GridLayout());
for(学生节点:所有学生节点){
新建STUDENTNode(studentChild,SWT.NONE,STUDENTNode);
Composite achivementsChild=新组合(scrolled Composite_1,SWT.DEFAULT);
setLayout(新的GridLayout());
for(Achivements AchivesNode:studentNode.getAchivements()){
新成就节点(mscbcChild,SWT.NONE,成就节点);
}
}
scrolledComposite_1.设置内容(studentChild);
scrolledComposite_1.setMinSize(studentChild.computeSize(SWT.DEFAULT,SWT.DEFAULT));

您可以在创建
网格布局时指定所需的列数:

new GridLayout(numberOfColumns, columnsEqual);
numberofColumns
是所需的列数


如果
columnsEqual
true
所有列将具有相同的宽度,如果
false
它们将具有它们的首选大小。

问题是对于成就,因为它们是小块,而学生因为数据而更大,我的问题是如何在学生块下面对成就进行排序