Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

53 changes: 53 additions & 0 deletions javafx/src/main/java/com/baeldung/controller/MainController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.baeldung.controller;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;

public class MainController implements Initializable {

private final Logger logger;
private final MetricsCollector metrics;
private final String appName;

@FXML
private Label statusLabel;

@FXML
private Label appNameLabel;

public MainController(String name) {
this.logger = Logger.getLogger(MainController.class.getName());
this.metrics = new MetricsCollector("dashboard-controller");
this.appName = name;

logger.info("DashboardController created");
metrics.incrementCounter("controller.instances");
}

@Override
public void initialize(URL location, ResourceBundle resources) {
this.appNameLabel.setText(this.appName);
this.statusLabel.setText("App is ready!");
logger.info("UI initialized successfully");
}

// Placeholder classes for demo
static class Logger {
private final String name;
private Logger(String name) { this.name = name; }
public static Logger getLogger(String name) { return new Logger(name); }
public void info(String msg) { System.out.println("[INFO] " + msg); }
}

static class MetricsCollector {
private final String source;
public MetricsCollector(String source) { this.source = source; }
public void incrementCounter(String key) {
System.out.println("Metric incremented: " + key + " (source: " + source + ")");
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.baeldung.controller;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;

public class ProfileController implements Initializable {

private final UserService userService;
private User currentUser;

@FXML
private Label usernameLabel;

public ProfileController(UserService userService) {
this.userService = userService;
this.currentUser = userService.getCurrentUser();
}

@Override
public void initialize(URL location, ResourceBundle resources) {
usernameLabel.setText("Welcome, " + this.currentUser.getName());
}

// Placeholder classes for demo
static class UserService {
private final User user;

UserService() {
this.user = new User("Baeldung");
}

public User getCurrentUser() {
return this.user;
}
}

static class User {
private String name;

public User(String name) {
this.name = name;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
}
8 changes: 8 additions & 0 deletions javafx/src/main/resources/status_label.fxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.StackPane?>

<StackPane xmlns:fx="http://javafx.com/fxml" fx:controller="your.package.YourController">
<Label fx:id="statusLabel" text="Loading" />
</StackPane>