Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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_Sql_Codenameone - Fatal编程技术网

Java 表行中的星号列显示在表外

Java 表行中的星号列显示在表外,java,sql,codenameone,Java,Sql,Codenameone,当我运行该项目时,表行正确显示,除了表外部和列内部显示的列号外,文本显示如图所示: }您没有包含initStarRankStyle的代码,但很明显您在这里做了什么。您只是依赖于容器的行为表格派生容器,因此它包含了所有方法,例如添加(组件) 但是这些方法无法正常工作,因为表从模型中获取数据并在内部调用add。因此,您的逻辑与表相冲突 您需要派生表并定义如何呈现该数据。您可以通过重写方法受保护的组件createCell(对象值,int行,int列,布尔可编辑)来实现这一点,如前所述 您没有包含in

当我运行该项目时,表行正确显示,除了表外部和列内部显示的列号外,文本显示如图所示:


}

您没有包含
initStarRankStyle
的代码,但很明显您在这里做了什么。您只是依赖于容器的行为<代码>表格派生
容器
,因此它包含了所有方法,例如
添加(组件)

但是这些方法无法正常工作,因为表从模型中获取数据并在内部调用
add
。因此,您的逻辑与表相冲突


您需要派生表并定义如何呈现该数据。您可以通过重写方法
受保护的组件createCell(对象值,int行,int列,布尔可编辑)
来实现这一点,如前所述

您没有包含
initStarRankStyle
的代码,但很明显您在这里做了什么。您只是依赖于容器的行为<代码>表格派生
容器
,因此它包含了所有方法,例如
添加(组件)

但是这些方法无法正常工作,因为表从模型中获取数据并在内部调用
add
。因此,您的逻辑与表相冲突


您需要派生表并定义如何呈现该数据。您可以通过重写方法
受保护的组件createCell(对象值,int行,int列,布尔可编辑)
来实现这一点,如前所述

您能解释一下“您需要导出表并定义如何呈现数据”是什么意思吗?我该如何使用createCell方法来精确地计算星级?这是一个MVC组件。表格模型告诉你应该画多少颗星,对吗?桌子就是视图。因此,如果模型中的值发生更改,表将为给定单元格隐式创建组件。如果你想在表格中使用自定义组件,你需要按照我在上面链接的文章中的解释使用它。你能给我一个例子吗:例如,请给我一个创建表格的代码,每行上都有一个“计算”按钮吗?在我的回答底部的链接中有一个完整的例子。你能解释一下你的意思吗“您需要派生表并定义如何呈现数据“如何使用createCell方法精确计算星级?这是一个MVC组件。表格模型告诉你应该画多少颗星,对吗?桌子就是视图。因此,如果模型中的值发生更改,表将为给定单元格隐式创建组件。如果你想在表格中使用自定义组件,你需要按照我在上面链接的文章中所解释的那样使用它。你能给我一个例子吗:例如,请给我一个创建表格的代码,每行上都有一个“计算”按钮?我的答案底部的链接中有一个完整的例子
public ListTasksForm(Form previous) {
    SpanLabel sp = new SpanLabel();
    sp.setText(ServiceTask.getInstance().getAllArticles().toString());
    ArrayList<Articles> articles = ServiceTask.getInstance().getAllArticles();
    Object[][] rows = new Object[articles.size()][];
    for (int iter = 0; iter < rows.length; iter++) {
        rows[iter] = new Object[]{
            articles.get(iter).getName(), articles.get(iter).getDescription(), articles.get(iter).getLabel(), articles.get(iter).getQuantity(),
            articles.get(iter).getRating(), add(createStarRankSlider(articles.get(iter).getId_article()))
        };

    }
TableModel model = new DefaultTableModel(new String[]{"name", "description", "label", "quantity", "rating", "rate"}, rows);
            Table table = new Table(model);
            add(table);
            getToolbar().addMaterialCommandToLeftBar("", FontImage.MATERIAL_ARROW_BACK, e -> previous.showBack());
        }
    });
private Slider createStarRankSlider(int id) {
Slider starRank = new Slider();
starRank.setEditable(true);
starRank.setMinValue(0);
starRank.setMaxValue(10);
int fontSize = Display.getInstance().convertToPixels(3);
Font fnt = Font.createTrueTypeFont("Handlee", "Handlee-Regular.ttf").
        derive(fontSize, Font.STYLE_PLAIN);
Style s = new Style(0xffff33, 0, fnt, (byte) 0);
Image fullStar = FontImage.createMaterial(FontImage.MATERIAL_STAR, s).toImage();
s.setOpacity(100);
s.setFgColor(0);
Image emptyStar = FontImage.createMaterial(FontImage.MATERIAL_STAR, s).toImage();
initStarRankStyle(starRank.getSliderEmptySelectedStyle(), emptyStar);
initStarRankStyle(starRank.getSliderEmptyUnselectedStyle(), emptyStar);
initStarRankStyle(starRank.getSliderFullSelectedStyle(), fullStar);
initStarRankStyle(starRank.getSliderFullUnselectedStyle(), fullStar);
starRank.setPreferredSize(new Dimension(fullStar.getWidth() * 5, fullStar.getHeight()));
starRank.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent evt) {
        ServiceTask.getInstance().UpdateRank(id,starRank.getIncrements());

    }
});

return starRank;