Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/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
Graphics Codenameone:自定义组件不';我身高不合适_Graphics_Codenameone - Fatal编程技术网

Graphics Codenameone:自定义组件不';我身高不合适

Graphics Codenameone:自定义组件不';我身高不合适,graphics,codenameone,Graphics,Codenameone,我试图在Codenameone中打印矩形 fun showCustomForm() { val hi = Form("", BorderLayout()) hi.add(BorderLayout.CENTER, getGreenLine()) hi.show() } fun getGreenLine(): Component { return object : Component() { override fun paint(g: Graphic

我试图在Codenameone中打印矩形

fun showCustomForm() {
    val hi = Form("", BorderLayout())
    hi.add(BorderLayout.CENTER, getGreenLine())
    hi.show()
}

fun getGreenLine(): Component {
    return object : Component() {
        override fun paint(g: Graphics) {
            println("Graphics Printing starts")
            g.color = 0x00ff00
            g.fillRect(x, y, width, height)
        }

        override fun calcPreferredSize(): Dimension {
            return Dimension(1, 20)
        }
    }
}
如上所示,矩形的宽度应为1,高度应为20

高度似乎是正确的,但宽度在屏幕上

用正确的尺寸显示矩形的正确方法是什么


然而,我从未使用过Kotlin。。。在本例中,尝试将
BorderLayout()
替换为
BorderLayout(BorderLayout.CENTER\u BEHAVIOR\u CENTER)
,以使组件具有其首选尺寸

通常,布局管理器可以或不能使用首选尺寸,请参见:

例如,
FlowLayout
总是给出组件的首选尺寸
BoxLayout.y()
始终为组件提供其首选高度,但使用最大可用宽度;等等