我在自己的类FileUploaderResultsTable.java中创建了一个表,如下所示:
public class FileUploaderResultsTable extends Table
{
public FileUploaderResultsTable()
{
Table resultTable = new Table("Rendering table");
resultTable.addStyleName("testTable2");
resultTable.addContainerProperty("Name", String.class, null);
resultTable.addContainerProperty("Mag", Float.class, null);
resultTable.addItem(new Object[]{"Canopus", -0.72f}, 2);
resultTable.addItem(new Object[]{"Arcturus", -0.04f}, 3);
resultTable.addItem(new Object[]{"Alpha Centauri", -0.01f}, 4);
resultTable.setPageLength(resultTable.size());
System.out.println("table created");
}
我有另一个类FileUploaderComponent.java,其中包含一个添加到Window对象的垂直布局。我试图显示上面的表,所以在FileUploaderComponent.java中我创建了一个FileUploaderResultsTable对象,如下所示:
public class FileUploaderComponent extends AbstractJavaScriptComponent
{
...
private VerticalLayout myLayout = new VerticalLayout();
private FileUploaderResultsTable resultsTable = new FileUploaderResultsTable();
...
public void addTable(){
myLayout.addComponent(resultsTable);
}
}
然后将 myLayout添加到另一个函数中的新窗口对象中。该机制之所以有效,是因为我添加了其他元素,如文本字段等,但由于某些原因,表格没有正确添加。
在DOM中我可以看到有一个表但它是空的并且它没有指定类名。
说实话,通常如果我想将另一个类的组件添加到布局中,我通常会将组件称为resultsTable.resultTable
,因此object.component语法而不仅仅是resultsTable
,而是编译器不是那样的。那么,是否有另一种方法可以将表格作为组件添加到布局中,还是我只是在做一些愚蠢的事情?
答案 0 :(得分:1)
您正在以错误的方式使用扩展类。试试这个:
<script>
function myFunction() {
document.getElementById("monBttn").disabled = true;
document.getElementById("monBttn").innerHTML = "Traitement en cours...";
document.getElementById("myForm").submit();
}
</script>