Advertisement
Adam9383

Písmena

Jan 22nd, 2020
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.87 KB | None | 0 0
  1. public class FXMLDocumentController implements Initializable {
  2.    
  3.     @FXML
  4.     private ListView<String> listView;
  5.    
  6.     @FXML
  7.     private PieChart graf;
  8.     ObservableList<PieChart.Data> pieChartData;
  9.     ObservableList<String> retezce;
  10.    
  11.     @Override
  12.     public void initialize(URL url, ResourceBundle rb) {
  13.         retezce = FXCollections.observableArrayList();
  14.         listView.setItems(retezce);
  15.        
  16.     }    
  17.  
  18.     @FXML
  19.     private void konecButton(ActionEvent event) {
  20.     }
  21.  
  22.     @FXML
  23.     private void pridejButton(ActionEvent event) {
  24.         TextInputDialog dialog = new TextInputDialog();
  25.         dialog.setTitle("PŘIDÁNÍ");
  26.         dialog.setContentText("Zadejte String pro přidání do LISTVIEW");
  27.        
  28.         Optional<String> res = dialog.showAndWait();
  29.        
  30.         res.ifPresent(text -> retezce.add(text));
  31.         listView.refresh();
  32.        
  33.         aktualizujGraf();
  34.     }
  35.  
  36.     @FXML
  37.     private void odeberButton(ActionEvent event) {
  38.         String s = listView.getSelectionModel().getSelectedItem();
  39.        
  40.         retezce.remove(s);
  41.         listView.refresh();
  42.        
  43.         if (Objects.nonNull(retezce)) {
  44.             aktualizujGraf();
  45.         } else {
  46.             graf.getData().clear();
  47.         }
  48.    
  49.     }
  50.  
  51.     @FXML
  52.     private void odebetVseButton(ActionEvent event) {
  53.         odeberVse();
  54.     }
  55.  
  56.     @FXML
  57.     private void ulozButton(ActionEvent event) throws IOException {
  58.         if (Objects.nonNull(retezce)) {
  59.             File file = new File("retezce.txt");
  60.             BufferedWriter bw = new BufferedWriter(new FileWriter(file));
  61.            
  62.             for (String s : retezce) {
  63.                 bw.write(s);
  64.                 bw.newLine();
  65.             }
  66.            
  67.            bw.close();
  68.         }
  69.    
  70.     }
  71.  
  72.     @FXML
  73.     private void nactiButton(ActionEvent event) throws FileNotFoundException, IOException {
  74.         FileChooser fc = new FileChooser();
  75.         fc.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("txt", "*.txt"),
  76.                 new FileChooser.ExtensionFilter("all", "*.*"));
  77.         File file = fc.showOpenDialog(IPOG_Zkouska_12.stage);
  78.         String line;
  79.         if (Objects.nonNull(file)) {
  80.             if (Objects.nonNull(retezce)) {
  81.                 odeberVse();
  82.                 BufferedReader br = new BufferedReader(new FileReader(file));
  83.                 while ((line = br.readLine()) != null) {
  84.                     if (!line.equals("")) {
  85.                         retezce.add(line);
  86.                     }
  87.                    
  88.                 }
  89.                 br.close();
  90.                 aktualizujGraf();
  91.             }
  92.         }
  93.        
  94.        
  95.     }
  96.    
  97.     private void aktualizujGraf() {
  98.         int pole[] = new int[123];
  99.         for (int i = 0; i < pole.length; i++) {
  100.             pole[i] = 0;
  101.         }
  102.        
  103.         if (Objects.nonNull(retezce)) {
  104.             int pom;
  105.             for (String s : retezce) {
  106.                 for (int i = 0; i < s.length(); i++) {
  107.                     pom = s.charAt(i);
  108.                     pole[pom]++;
  109.                 }
  110.             }
  111.  
  112.  
  113.             pieChartData = FXCollections.observableArrayList();
  114.  
  115.             for (int i = 0; i < pole.length; i++) {
  116.                 if (pole[i] != 0) {
  117.                     char ch = (char) i;
  118.                     String s = String.valueOf(ch);
  119.                     pieChartData.add(new PieChart.Data(s + " " + "(" + Integer.toString(pole[i]) + ")", pole[i]));
  120.                 }
  121.             }
  122.  
  123.             graf.setLegendSide(Side.RIGHT);
  124.             graf.setData(pieChartData);
  125.         }
  126.            
  127.     }
  128.    
  129.     void odeberVse() {
  130.         if (Objects.nonNull(retezce)) {
  131.             retezce.clear();
  132.         listView.getItems().clear();
  133.         //pieChartData.clear();
  134.         //graf.getData().clear();
  135.         }
  136.        
  137.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement