不知何故,虽然在JavaDoc中有说明,但方法refresh()对我来说不起作用,只能再次调用setItems(),这需要花费大量时间,特别是当关联的ObservableList很长时,对我有效。这是我的源代码:
NetworkManager类,getStations()方法
ObservableList<Station> getStations() {
ObservableList<Station> stations = FXCollections.observableArrayList();
JsonArray jsonArray = getRootElement().getAsJsonObject().getAsJsonArray("stations");
for(JsonElement currentElement : jsonArray) {
stations.add(gson.fromJson(currentElement, Station.class));
}
return stations;
}
然后我在我的JavaFX初始化方法中建立了ListView和这个方法之间的连接:
listView.setItems(networkManager.getStations());
现在,如果我注册一个新的Station对象,我就用
listView.refresh();
ListView没有刷新,只有这个工作:
listView.setItems(networkManager.getStations());
这里有什么问题?
Kenta1561
编辑: 我的Application类扩展主类:
package de.kenta1561.enr.main.java;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.TabPane;
import javafx.stage.FileChooser;
import javafx.stage.Screen;
import javafx.stage.Stage;
import javafx.stage.Window;
import java.io.File;
import java.io.IOException;
public class EasyNetworkRegistration extends Application {
private File file;
private Controller controller;
private boolean fileCreated;
@Override
public void start(Stage primaryStage) throws Exception {
showFileChooser(primaryStage);
FXMLLoader loader = new FXMLLoader(getClass().getResource("/de/kenta1561/enr/main/resources/EasyNetworkRegistration.fxml"));
TabPane pane = loader.load();
controller = loader.getController();
initializeController();
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.setTitle("EasyNetworkRegistration");
primaryStage.show();
setCenter(primaryStage);
}
如何将工作站添加到我的JSON文件中:
void addStation(Station station) {
JsonObject rootObject = getRootElement().getAsJsonObject();
JsonArray jsonArray = rootObject.getAsJsonArray("stations");
jsonArray.add(gson.toJsonTree(station));
writeToFile(rootObject);
}
PS:显然,在调用此方法后调用refresh()方法,因此我认为这不应该是问题。
答案 0 :(得分:3)
from Tkinter import *
class Application(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.right = False
self.left = False
self.up = False
self.down = False
self.grid()
self.px = 16
self.py = 8
self.a = "green"
self.b = 'blue'
self.c = "green"
self.line1 = {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line2 = {1:self.a,2:self.a,3:self.c,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line3 = {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line4 = {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line5 = {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line6 = {1:self.a,2:self.a,3:self.b,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line7 = {1:self.b,2:self.b,3:self.b,4:self.b,5:self.b,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line8 = {1:self.b,2:self.b,3:self.b,4:self.b,5:self.b,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line9 = {1:self.b,2:self.b,3:self.b,4:self.b,5:self.b,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line10= {1:self.a,2:self.a,3:self.a,4:self.b,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line11= {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line12= {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line13= {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line14= {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.line15= {1:self.a,2:self.a,3:self.a,4:self.a,5:self.a,6:self.a,7:self.a,8:self.a,9:self.a,10:self.a,11:self.a,12:self.a,13:self.a,14:self.a,15:self.a,16:self.a,17:self.a,18:self.a,19:self.a,20:self.a,21:self.a,22:self.a,23:self.a,24:self.a,25:self.a,26:self.a,27:self.a,28:self.a,29:self.a,30:self.a,31:self.a,32:self.a,33:self.a,34:self.a,35:self.a,36:self.a,37:self.a,38:self.a,39:self.a,40:self.a,41:self.a,42:self.a,43:self.a,44:self.a,45:self.a,46:self.a,47:self.a,48:self.a,49:self.a,50:self.a,51:self.a,52:self.a,53:self.a,54:self.a,55:self.a,56:self.a,57:self.a,58:self.a,59:self.a,60:self.a,61:self.a,62:self.a,63:self.a,64:self.a,65:self.a,66:self.a,67:self.a,68:self.a,69:self.a,70:self.a,71:self.a,72:self.a,73:self.a,74:self.a,75:self.a,76:self.a,77:self.a,78:self.a,79:self.a,80:self.a,81:self.a,82:self.a,83:self.a,84:self.a,85:self.a,86:self.a,87:self.a,88:self.a,89:self.a,90:self.a,91:self.a,92:self.a,93:self.a,94:self.a,95:self.a,96:self.a,97:self.a,98:self.a,99:self.a,100:self.a}
self.map = [self.line1,self.line2,self.line3,self.line4,self.line5,self.line6,self.line7,self.line8,self.line9,self.line10,self.line11,self.line12,self.line13,self.line14,self.line15]
self.create_widgets()
def create_widgets(self):
Text(self, width = 20, height = 1, wrap = WORD).grid(row = 0, column = 0, columnspan = 3,sticky = W)
y = 0
q = 1
s = 0
self.a = "yellow"
for i in self.map:
if q == self.py:
s = 1
w = 0
for x in range(31):
if self.px-15 <= 0:
x += 1
else:
x += (self.px-15)
if s == 1 and x == self.px:
Label(self, text = " / ", bg = "navajo white", fg = "saddle brown",font = ("Times", 20)).grid(row = y, column = w+3)
s = 0
else:
Label(self, text = " / ", bg = i[x], fg = i[x], font = ("Times", 20)).grid(row = y, column = w+3)
w += 1
y += 1
q += 1
def keyPressed(self,event):
if event.keysym == 'Escape':
root.destroy()
elif event.keysym == 'Right':
self.right = True
elif event.keysym == 'Left':
self.left = True
elif event.keysym == 'Up':
self.up = True
elif event.keysym == 'Down':
self.down = True
def keyReleased(self,event):
if event.keysym == 'Right':
self.right = False
elif event.keysym == 'Left':
self.left = False
elif event.keysym == 'Up':
self.up = False
elif event.keysym == 'Down':
self.down = False
def task(self):
if self.right:
self.mr()
elif self.left:
self.ml()
elif self.up:
self.mu()
elif self.down:
self.md()
root.after(20,self.task)
def mr(self):
for widget in self.winfo_children():
widget.destroy()
self.px += 1
self.create_widgets()
def ml(self):
for widget in self.winfo_children():
widget.destroy()
self.px -= 1
self.create_widgets()
def mu(self):
for widget in self.winfo_children():
widget.destroy()
self.py -= 1
self.create_widgets()
def md(self):
for widget in self.winfo_children():
widget.destroy()
self.py += 1
self.create_widgets()
root = Tk()
app = Application(root)
root.bind_all('<Key>', app.keyPressed)
root.bind_all('<KeyRelease>', app.keyReleased)
root.after(20, app.task)
root.title("RPG")
root.geometry("10000x100000")
root.mainloop()
方法唯一做的就是更新JSON文件。桌子无法知道任何事情都发生了变化。对addStation
的调用仅仅会重新加载来自同一refresh()
的数据,而您还没有更改过。
考虑直接将新电台添加到可观察列表中:
ObservableList
(如果void addStation(Station station) {
JsonObject rootObject = getRootElement().getAsJsonObject();
JsonArray jsonArray = rootObject.getAsJsonArray("stations");
jsonArray.add(gson.toJsonTree(station));
writeToFile(rootObject);
listView.getItems().add(station);
}
不在您的控制器中,则以显而易见的方式重构此事。)
不需要致电addStation
。