J'ai besoin d'aide, les gars: La chose est que je veux ListView> Composant pour montrer .toString (ou quelque chose de similaire) de la classe de dataModel sous-jacente (ObservableList> Tests = FXCollections.observableList (liste))JavaFX2 observableList <T> présentation dataModel Chaîne
donc en Java:
public class KinderNonStandard extends SeleneseTestCase {
@Before
public ... {}
@Test
public ... {}
@After
public ... {}
@Override
public String toString() {
return "I want this string to be shown at presentation layer of listView<T>";
}
}
j'ai:
public class TestWindowController implements Initializable{
@FXML private ListView<Class<? extends SeleneseTestCase>> availableTests;
@Override
public void initialize(URL location, ResourceBundle resources) {
//list contains classes like KinderNonStandard (extends SeleneseTestCase...)
ObservableList<Class<? extends SeleneseTestCase>> tests = Collections.observableList(list);
availableTests.setItems(tests);
}
}
Et enfin , quand je lance une application, dans ListView, je vois quelque chose comme "class package.subpackage.KinderNonStandard" au lieu de ce qui a été redéfini dans toString de cette classe. Eh bien, je ne suis pas très à l'aise avec l'utilisation de cartes et de travailler avec des clés comme des chaînes et des valeurs en tant que classes sous-jacentes de modèle de données. Donc, je peux en quelque sorte le gérer pour montrer cette méthode overString surchargée?
Merci pour votre aide!
oui, il doit être instancié dans l'ordre tro call toString(); Je ne m'en suis pas rendu compte ...: / – greengold