我想知道这是错误还是我的错误代码。我一直在尝试用一些水平跨度渲染表。它应该是这样的:



在LWUIT 1.4中,一切正常。从1.5开始,表格如下:



我的实现:

DefaultTableModel model = new DefaultTableModel(new String[]{"", "", "", ""}, new String[][]{
                {"Header", null, null, null},
                {"1", "2", "3", "4"},
                {"1", "2", "3", "4"},
                {"String", null, "String", null}});


Table tab = new Table(model, false) {

        protected Component createCell(Object value, final int row, final int column, boolean editable) {
            Component c = super.createCell(value, row, column, editable);
            c.setFocusable(false);
            return c;
        }

        protected TableLayout.Constraint createCellConstraint(java.lang.Object value, int row, int column) {
            TableLayout.Constraint tlay = super.createCellConstraint(value, row, column);
            if (row == 0 && column == 0) {
                tlay.setHorizontalSpan(4);
                tlay.setHorizontalAlign(Table.CENTER);
            } else if (row == 3)) {
                if (column == 0) {
                    tlay.setHorizontalSpan(2);
                    tlay.setWidthPercentage(50);
                } else if (column == 2) {
                    tlay.setHorizontalSpan(2);
                    tlay.setWidthPercentage(50);
                }
            } else if (row != 0) {
                tlay.setWidthPercentage(25);
            }
            return tlay;
        }

    };

最佳答案

该错误(在LWUIT中)由tlay.setWidthPercentage(50);触发,您可以将其删除并仍然获得预期的结果。看来宽度百分比值没有考虑到我认为应该考虑的范围。

您应该在问题跟踪器中为此提交一个错误,感谢您的错误。

10-08 03:07