私はcom.mongodb.DBObjectオブジェクトの束をVaadin BeanItemContainerにロードしてテーブルに表示しようとしています。私は、JavaからScalaへのコンストラクタの翻訳に悩まされています。ScalaでVaadin BeanItemContainerコンストラクタを表現するにはどうすればよいですか?
コンストラクタの定義は次のとおりです。
BeanItemContainer(Class<? extends BT> type)
これはScalaのコンパイラ渡し:私は項目を追加しようとすると、しかし
val bic = new BeanItemContainer(Class.forName("com.mongodb.DBObject"))
を:
mtl.toArray.foreach {t => bic.addBean(t)}
私は次の取得エラー:
[ERROR]com/sentientswarm/traderdashboard/UploadTradesWindow.scala:140: error: type mismatch;
found : t.type (with underlying type com.mongodb.DBObject)
required: ?0 where type ?0
mtl.toArray.foreach {t => bic.addBean(t)}
ご意見/ご提案はありますか?
UPDATE:
が試み:
val bic: BeanItemContainer[DBObject] = new BeanItemContainer(Class.forName("com.mongodb.DBObject"))
結果:
[ERROR]com/sentientswarm/traderdashboard/UploadTradesWindow.scala:140: error: type mismatch;
found : java.lang.Class[?0(in value bic)] where type ?0(in value bic)
required: java.lang.Class[_ <: com.mongodb.DBObject]
val bic: BeanItemContainer[DBObject] = new BeanItemContainer(Class.forName("com.mongodb.DBObject"))
^
おかげで、 ジョン
ありがとうございます。私はclassOfを忘れた。私は同じ結論に達しましたが、もう少し簡単でした。 val bic = new BeanItemContainer(classOf [DBObject])を使用することができます。つまり、DBObjectはBeanであると言われるのが好きではないので、IndexedContainerを使用して手動で入力します。 – jxstanford