具有未修饰框架的 Swing JavaFX 应用程序



我不完全明白这是怎么行不通的,如果我能得到一个,我想解决这个问题。我正在尝试摆脱帧退出按钮、最小化和恢复等,以便我可以设置自己的按钮,但我的程序涉及 javafx,并且不允许 setUndecorated() 方法工作。

import java.awt.Dimension;
import javax.swing.JFrame;
import javafx.application.Application;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class Test extends JFrame {
    private final int WIDTH = 600;
    private final int HEIGHT = 300;
    public Test() {
        JFXPanel fxpanel = new JFXPanel();
        fxpanel.setScene(createScene(this));
        add(fxpanel);
        setTitle("Frame");
        setSize(new Dimension(WIDTH, HEIGHT));
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
        setResizable(false);
        setLocationRelativeTo(null);
        // setUndecorated(true); would go here.. but it doesn't work.

    }
    private Scene createScene(JFrame frame) {
        StackPane root = new StackPane();
        Scene scene = new Scene(root, Color.ALICEBLUE);
        Text text = new Text();
        text.setX(150);
        text.setY(100);
        text.setFont(new Font(25));
        text.setText("Welcome JavaFX!");
        root.getChildren().add(text);
        return (scene);
    }
    public static void main(String[] args) {
        new Test();
    }
}

你必须在 setVisible 之前调用 setUndecoration