2
我正在創建產品列表屏幕,其中產品按類別列出。我這樣做是成功的,我已經實現了一個更改偵聽器,它將打印選定的樹項目。 但我只想選擇產品而不是類別。這是我迄今爲止所做的代碼。使用變更監聽器只選擇樹視圖的子項目(樹項目)javafx
事情我想知道: - 如何從列表中選擇產品名稱而不是類別名稱。
SessionFactory sessionFactory = null;
Session session = null;
TreeItem<String> CategoryrootItem = null;
TreeItem<String> dummyRoot = new TreeItem<>();
try {
sessionFactory = HibernateUtil.getSessionFactory();
session = sessionFactory.openSession();
session.beginTransaction();
/*Select categories from database*/
List categoryList = session.createQuery("FROM Category").list();
for (Iterator iterator = categoryList.iterator(); iterator.hasNext();) {
Category category = (Category) iterator.next();
CategoryrootItem = new TreeItem<>(category.getCategory_Name());
Set productList = category.getProducts();
//access via new for-loop
for(Object object : productList) {
ProductHeader productHeader = (ProductHeader) object;
TreeItem<String> item = new TreeItem<>(productHeader.getProduct_Name());
CategoryrootItem.getChildren().add(item);
}
dummyRoot.getChildren().add(CategoryrootItem);
}
treeView.setRoot(dummyRoot);
treeView.setShowRoot(false);
session.getTransaction().commit();
} catch (Exception e) {
System.out
.println("populateSupplierList unable to create session : "
+ e.getMessage());
}
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
public void changed(ObservableValue observable, Object oldValue,
Object newValue) {
TreeItem<String> selectedItem = (TreeItem<String>) newValue;
System.out.println("Selected Text : " + selectedItem.getValue());
}
});
The image gives the of the code. I want the product kaju
to be selected but not Dry fruits
category