/
evernotenkai
/
DataBaseXJavaProject
Обзор
Документация
Войти
/
evernotenkai
/
DataBaseXJavaProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/app/ui/student/StudentDashboardView.java
59 строк
2 KB
Makson4ik
Весь проект с src db и прочим делом
12 май 2026, 22:43
12 май 2026, 22:43
431f4aa
Код
Авторство
О чём код?
package app.ui.student; import app.model.DashboardStats; import app.service.DashboardService; import app.ui.components.PageHeader; import app.ui.components.StatCard; import app.ui.components.UiKit; import app.util.Dialogs; import javafx.geometry.Insets; import javafx.scene.layout.GridPane; import javafx.scene.layout.VBox; public class StudentDashboardView extends VBox { private final DashboardService service; private final int studentId; private final StatCard courses = new StatCard("Курсы", "0"); private final StatCard tasks = new StatCard("Задания", "0"); private final StatCard sent = new StatCard("Отправки", "0"); private final StatCard avg = new StatCard("Средний балл", "0"); public StudentDashboardView(DashboardService service, int studentId) { this.service = service; this.studentId = studentId; getStyleClass().add("content-root"); setSpacing(16); getChildren().add(new PageHeader("Обзор студента", "Смотри нагрузку, сроки и результаты в одном месте.")); GridPane grid = new GridPane(); grid.setHgap(16); grid.setVgap(16); grid.add(courses, 0, 0); grid.add(tasks, 1, 0); grid.add(sent, 2, 0); grid.add(avg, 3, 0); getChildren().add(grid); getChildren().add(UiKit.card( UiKit.section("Как работать"), UiKit.subtitle("Открой курсы, посмотри задания, отправь работу и проверь оценку."), UiKit.subtitle("Если задание уже отправлено, форма сдачи подхватит текущую версию, а не создаст дубль.") )); refresh(); } public void refresh() { try { DashboardStats stats = service.loadStudentStats(studentId); courses.setValue(String.valueOf(stats.getFirst())); tasks.setValue(String.valueOf(stats.getSecond())); sent.setValue(String.valueOf(stats.getThird())); avg.setValue(String.format("%.1f", stats.getAverage())); } catch (Exception e) { Dialogs.error("Ошибка dashboard", e); } } }