Я хотел бы, чтобы на сцене был установлен параметр «UNDECORATED», который можно было перетаскивать и минимизировать. Проблема в том, что я не могу найти способ сделать это, так как примеры, которые я прихожу, делают это, используя методы, встроенные в основной метод.Перетаскивание незадекларированной ступени в JavaFX
Я хотел бы, чтобы это было сделано с помощью метода, объявленного в классе контроллера, например, как мне удалось сделать метод «WindowClose()» ниже.
Это мой второй день работы с JavaFX, если это кажется слишком большим вопросом общей информации. Спасибо всем заранее.
// Main Class/ Method
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class Fxmltableview extends Application {
public static String pageSource = "fxml_tableview.fxml";
public static Scene scene;
@Override
public void start(Stage stage) throws Exception {
stage.initStyle(StageStyle.UNDECORATED);
stage.initStyle(StageStyle.TRANSPARENT);
Parent root = FXMLLoader.load(getClass().getResource(pageSource));
scene = new Scene(root, Color.TRANSPARENT);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
..
// The Controller
import javafx.application.Platform;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
public class FXMLTableViewController {
@FXML private TableView<Person> tableView;
@FXML private TextField firstNameField;
@FXML private TextField lastNameField;
@FXML private TextField emailField;
@FXML
protected void addPerson (ActionEvent event) {
ObservableList<Person> data = tableView.getItems();
data.add(new Person(
firstNameField.getText(),
lastNameField.getText(),
emailField.getText()
));
firstNameField.setText("");
lastNameField.setText("");
emailField.setText("");
}
public void WindowClose (ActionEvent event) {
Platform.exit();
}
}
возможно дубликат [Как перетащить этап accross экран в JavaFX] (http://stackoverflow.com/questions/18809324/how-to-drag-a -stage-accross-the-screen-in-javafx) – jewelsea