Java Reference
In-Depth Information
public static class Model {
public ObservableList<String> threadNames;
public ObservableList<String> stackTraces;
public Model() {
threadNames = FXCollections.observableArrayList();
stackTraces = FXCollections.observableArrayList();
update();
}
public void update() {
threadNames.clear();
stackTraces.clear();
final Map<Thread, StackTraceElement[]> map = Thread.getAllStackTraces();
for (Map.Entry<Thread, StackTraceElement[]> entry : map.entrySet()) {
threadNames.add("\"" + entry.getKey().getName() + "\"");
stackTraces.add(formatStackTrace(entry.getValue()));
}
}
private String formatStackTrace(StackTraceElement[] value) {
StringBuilder sb = new StringBuilder("StackTrace: \n");
for (StackTraceElement stackTraceElement : value) {
sb.append(" at ").append(stackTraceElement.toString()).append("\n");
}
return sb.toString();
}
}
private static class View {
public ListView<String> threadNames;
public TextArea stackTrace;
public Button updateButton;
public Scene scene;
private View(Model model) {
threadNames = new ListView<>(model.threadNames);
stackTrace = new TextArea();
updateButton = new Button("Update");
VBox vBox = new VBox(10, threadNames, stackTrace, updateButton);
vBox.setPadding(new Insets(10, 10, 10, 10));
scene = new Scene(vBox, 440, 640);
}
}
}
Search WWH ::




Custom Search