Voici mon cas: j'ai créé une table avec DefaultTableModelaccès java vecteur à deux dimensions à partir scala
Alors, quand je l'utilise getDataVector je reçois un java.util.Vector à deux dimensions.
Lorsque j'utilise toSeq ou tout autre convertisseur je reçois quelque chose comme
Buffer([5.0, 1.0, 50.0], [10.0, 1.5, 40.0], [2.0, 1.5, 90.0], [1.0, 1.0, 100.0], [6.0, 3.0, 100.0], [16.0, 3.5, 50.0])
Les objets internes sont renvoyés sous forme java.lang.Object (AnyRef dans scala), et non comme des tableaux
Comment Je les convertis ou accède à leur contenu?
Voici le code pour tester
import collection.mutable.{Buffer, ArrayBuffer}
import javax.swing.table._
import scala.collection.JavaConversions._
var data = Array(
Array("5.0", "1.0", "50.0"),
Array("10.0", "1.5", "40.0"),
Array("2.0", "1.5", "90.0"),
Array("1.0", "1.0", "100.0"),
Array("6.0", "3.0", "100.0"),
Array("16.0", "3.5", "50.0"))
val names = Array("K¹", "K²", "K³")
val m = new DefaultTableModel(data.asInstanceOf[Array[Array[AnyRef]]], names.asInstanceOf[Array[AnyRef]])
val t = m.getDataVector.toSeq
Merci beaucoup! Pourriez-vous partager d'autres moyens aussi – Konstantin