У меня есть проблема Diferent, показывающая корректную диаграмму, когда я загружаю функцию напрямую в методе initialize, все в порядке, но когда я хочу загрузить этот же метод с помощью события мыши, метка даты не отображается правильно.
Это мой код:
@FXML private ComboBox<String> solicitudindc;
@FXML private JFXButton generarind;
@FXML private BarChart <String,Integer> indicadorsoporte;
@FXML private CategoryAxis fechas;
@FXML private NumberAxis cantidades;
public void generaindicador() {
String Bd="jdbc:sqlserver://LAPTOP-8L00K632:1433;databaseName=QUORA";
String Usuario="sa";
String Pass="milkas87";
String Query= "SELECT FECHA_EJECUTADA , COUNT(PRIORIDAD) AS CANTIDAD FROM RINCIDENTES WHERE PRIORIDAD='ALTA' GROUP BY FECHA_EJECUTADA ORDER BY FECHA_EJECUTADA ASC";
String Query2= "SELECT FECHA_EJECUTADA , COUNT(PRIORIDAD) AS CANTIDAD FROM RINCIDENTES WHERE PRIORIDAD='MEDIA' GROUP BY FECHA_EJECUTADA ORDER BY FECHA_EJECUTADA ASC";
XYChart.Series<String,Integer> DatosPrioridad = new Series<String,Integer> ();
XYChart.Series<String,Integer> DatosPrioridad2 = new Series<String,Integer> ();
Connection Conexiontabla = null;
try {
Conexiontabla=DriverManager.getConnection(Bd, Usuario, Pass);
PreparedStatement ps =Conexiontabla.prepareStatement(Query);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
DatosPrioridad.getData().add(new XYChart.Data<>(rs.getString("FECHA_EJECUTADA"),rs.getInt("CANTIDAD")) );
}
indicadorsoporte.getData().add(DatosPrioridad);
DatosPrioridad.setName("PRIORIDAD ALTA");
}catch(SQLException e) {
e.printStackTrace();
}
try {
Conexiontabla=DriverManager.getConnection(Bd, Usuario, Pass);
PreparedStatement pd =Conexiontabla.prepareStatement(Query2);
ResultSet rss = pd.executeQuery();
while (rss.next()) {
DatosPrioridad2.getData().add(new XYChart.Data<>(rss.getString("FECHA_EJECUTADA"),rss.getInt("CANTIDAD")) );
}
indicadorsoporte.getData().add(DatosPrioridad2);
DatosPrioridad2.setName("PRIORIDAD MEDIA");
fechas.setLabel("Fechas");
cantidades.setLabel("Cantidades");
}catch(SQLException e) {
e.printStackTrace();
}
}
Я даю Combobox следующее значение:
public void llenacombox() {
solicitudindc.getItems().add("REPORTE DE INCIDENTES");
}
Теперь, если в списке есть это значение в списке, я загружаю метод с помощьюсобытие мыши
public void generaincidentes() {
generarind.setOnMouseClicked(e->{
if(solicitudindc.getSelectionModel().getSelectedItem().toString().equals("REPORTE DE INCIDENTES")) {
generaindicador();
}
});
}
это различие, когда я загружаю непосредственно диаграмму в методе инициализации:
метод инициализации
и эторазница, когда я загружаю диаграмму с помощью mouseevent
метод события мыши