Следующий код предназначен для отображения дерева и распечатки значения, выбранного пользователем. Я хотел бы распечатать «ОК», что означает то же значение объекта «овал» в аргументе метода ChangeLisner.Как сравнить сообщение объекта в ChangeListener
Как мне это сделать?
Я имею в виду следующий адрес
http://blog.professional-webworkx.de/javafx-get-selecteditem-of-treeview/
и добавить код, как:
if("TreeItem [ value: SubItem ]".equals(oldVal)){System.out.println("YES");}
else{System.out.println("NO");}"
Результат System.out.println является следующее:
TreeItem [значение: SubItem]
NO
package app;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.scene.Scene;
import javafx.scene.control.MultipleSelectionModel;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
public class App extends Application{
@Override
public void start(Stage stage) throws Exception {
TreeItem<String> item = new TreeItem<String>("root");
final TreeView<String> treeView = new TreeView<String>(item);
for(int i=0; i<10; i++) {
item.getChildren().add(new TreeItem<String>("Item" + i));
if(i%5==0) {
TreeItem<String> subItem = new TreeItem<String>("SubItem");
item.getChildren().add(subItem);
subItem.setExpanded(true);
for(int j=0; j<10; j++) {
subItem.getChildren().add(new TreeItem<String>("SubsubItem" + i));
}
}
}
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue observable, Object oldVal, Object newVal) {
System.out.println(oldVal);// + " neuer: " + newVal);
if("TreeItem [ value: SubItem ]".equals(oldVal)){System.out.println("YES");}
else{System.out.println("NO");}
}
});
stage.setTitle("TreeView");
stage.setScene(new Scene(treeView, 640, 480));
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
Огромное спасибо. вы были так полезны! – kkj