Как я могу предотвратить превращение единого окна JavaFX в полностью белое при расфокусировке?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу предотвратить превращение единого окна JavaFX в полностью белое при расфокусировке?

Сообщение Anonymous »

Я использую Java 21.0.5, JavaFX версии 20.0.2. Моя проблема в том, что запуск приведенного ниже кода

Код: Выделить всё

import javafx.collections.*;
import javafx.geometry.*;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.stage.*;
import javafx.scene.*;
import javafx.application.Application;
import javafx.application.Platform;

public class MyApplication extends Application {

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) {
VBox root = new VBox();
root.getChildren().add(new Label("test"));
root.setStyle("-fx-background-color:transparent;");
Scene scene = new Scene(root, 800, 600);

primaryStage.setTitle("Cursor Control");
scene.setFill(Color.TRANSPARENT);
//primaryStage.initStyle(StageStyle.UNIFIED);
scene.setFill(Color.TRANSPARENT);
primaryStage.resizableProperty().setValue(Boolean.FALSE);
primaryStage.setScene(scene);
primaryStage.show();
}
}
Окно объединяется, однако удаление из него фокуса любым способом, например нажатием кнопки, приводит к тому, что все объединенное окно становится чисто белым. При комментировании одного initStyle, пока сцена по-прежнему белая, как и ожидалось, тестовый текст виден, тогда как указанный текст и любой другой контент в главном окне исчезает при расфокусировке, когда единый стиль сцены выбран или раскомментирован.
Прикрепленные изображения представляют собой скриншоты унифицированных и неунифицированных окон, сфокусированных/расфокусированных:
Единый стиль
Сфокусировано:
Изображение

Не сфокусировано:
Изображение

Обычный стиль (не унифицированный)
Сфокусированный:
[img]https: //i.sstatic.net/AgEJQY8J.png[/img]

Несфокусировано:
Изображение


Надеюсь, есть способ не отображать единое окно такое поведение, я был бы очень признателен, если бы было решение. Это основной код, с которым я работаю, чтобы попытаться разобраться в проблеме перед ее расширением, и в консоли не возникает никаких ошибок.

Подробнее здесь: https://stackoverflow.com/questions/793 ... on-defocus
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»