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 布局自定义按钮_Java_User Interface_Layout_Swt - Fatal编程技术网

Java 布局自定义按钮

Java 布局自定义按钮,java,user-interface,layout,swt,Java,User Interface,Layout,Swt,我正在尝试创建形状如下图所示的按钮: 通过执行以下操作,这一点非常有效: class ArrowButton extends Composite { ArrowButton(Composite parent, int style) { [...] setRegion(customRegion); } } addStuff(Composite parent) { ArrowButton b = new ArrowButton(parent,

我正在尝试创建形状如下图所示的按钮:

通过执行以下操作,这一点非常有效:

class ArrowButton extends Composite {
    ArrowButton(Composite parent, int style) {
        [...]
        setRegion(customRegion);
    }
}

addStuff(Composite parent) {
    ArrowButton b = new ArrowButton(parent, SWT.NONE);
    b.setBounds(x, y, width, height);
}
但是,我想使用布局管理器来布局这些按钮。理想情况下,按钮按标准尺寸布置,之后它们仍可以在此区域之外进行绘制


这有可能吗?如何执行此操作?

布局管理器有两个功能:计算应用它们的组合的大小和设置组合的子对象的边界。考虑到您的需求相对简单(水平排列按钮),我认为您最好自己做布局(而不是尝试破解现有的实现)。如果感觉更好的话,您可以将代码放入接口后面的委托中