[[oktatas:programozás:java:java_fx|< Java FX]]
====== Java FX - saját komponens ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2022, 2023
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Felirat beviteli mezővel =====
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import views.MainView;
public class App extends Application {
public static void main(String[] args) throws Exception {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
MainView mainView = new MainView();
primaryStage.setTitle("Text komponens");
primaryStage.setScene(new Scene(mainView));
primaryStage.show();
}
}
import javafx.scene.layout.HBox;
public class MainView extends HBox {
InputPanel inputPanel;
public MainView() {
this.inputPanel = new InputPanel();
this.inputPanel.setText("Valami");
this.getChildren().add(this.inputPanel);
}
}
package views;
import javafx.geometry.Insets;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
public class InputPanel extends HBox {
Label label;
TextField field;
public InputPanel() {
this.generateComponent();
this.setComponent();
this.addComponentToPanel();
}
public InputPanel(String labelText) {
this.setComponent();
this.label.setText(labelText);
}
private void generateComponent() {
this.label = new Label();
this.field = new TextField();
}
private void setComponent() {
HBox.setMargin(this.label, new Insets(10, 10, 10, 10));
HBox.setMargin(this.field, new Insets(10, 10, 10, 10));
this.label.setMinHeight(25);
}
private void addComponentToPanel() {
this.getChildren().add(this.label);
this.getChildren().add(this.field);
}
public void setText(String text) {
this.label.setText(text);
}
public String getText() {
return this.label.getText();
}
public void setValue(String value) {
this.field.setText(value);
}
public String getValue() {
return this.field.getText();
}
}
===== Javadoc =====
Ha JavaFX-t alapú forráskódhoz szeretnénk dokumentációt készíteni, akkor szükségünk lesz a --module-path és az --add-module kapcoslókra
* --module-path - A JavaFX útvonala
* --add-modules - A controls csomag
* -d - Melyik könyvtárba szeretnénk létrehozni a dokumentációt
javadoc --module-path /home/valaki/Library/javafx --add-modules=javafx.controls,javafx.fxml -d javadoc src/net/zold/Valami.java