标签: javafx

JavaFX 2.2 Stage始终位于顶部

我有一个普通的JFrame(应用程序的一部分)和第二个JavaFX窗口(我不能在JavaFX阶段使用JFrame).问题是JavaFX窗口应始终位于所有其他窗口之上.

我不知道应该如何解决这个问题!有任何想法吗?

java javafx jframe always-on-top

15
推荐指数
3
解决办法
2万
查看次数

JavaFX ImageView没有任何平滑

是否可以在JavaFX 2.2中的ImageView中渲染缩放图像而不应用任何平滑?我正在使用setSmooth(false)将50x50图像渲染到200x200 ImageView中,因此源图像中的每个像素都应映射到屏幕上的4x4正方形.

但是,生成的渲染仍然可以平滑所有16个目标像素上的源像素.有没有人知道如何在不手动将每个像素复制到新图像的情况下执行此操作?

javafx javafx-2

15
推荐指数
2
解决办法
1万
查看次数

JavaFX 8中的背景颜色问题

看起来在JavaFX 8中为面板设置背景颜色存在问题.

我一直在尝试以下,但没有一个设置适当的背景颜色.

VBox panel = new VBox();
panel.setAlignment(Pos.TOP_LEFT);

// None of the below work
panel.setStyle("-fx-background-color: #FFFFFF;");
panel.setBackground(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)));
Run Code Online (Sandbox Code Playgroud)

我设置背景颜色的方式有问题吗?这曾经用于早期版本的JavaFX 2.2.

谢谢.

javafx javafx-8

15
推荐指数
3
解决办法
9万
查看次数

如何在fxml项目中使用字体awesome(javafx)

我想在我的项目中使用字体字体真棒,但我不知道如何在我的项目中使用字体真棒.

我找到了一些例子,但它们不能在fxml中使用.

字体真棒javafx

我需要帮助如何使用fxml在我的项目中使用它

谢谢.

java javafx javafx-2 fxml javafx-8

15
推荐指数
3
解决办法
3万
查看次数

从枚举中填充JavaFX ComboBox或ChoiceBox

有没有办法填充JavaFX ComboBoxChoiceBox枚举的所有枚举?

这是我尝试过的:

public class Test {

    public enum Status {
        ENABLED("enabled"),
        DISABLED("disabled"),
        UNDEFINED("undefined");

        private String label;

        Status(String label) {
            this.label = label;
        }

        public String toString() {
            return label;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在另一堂课中,我试图填写一个ComboBox:

    ComboBox<Test.Status> cbxStatus = new ComboBox<>();
    cbxStatus.setItems(Test.Status.values());
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误: incompatible types: Status[] cannot be converted to ObservableList<Status>

我显然遇到了同样的问题ChoiceBox.

java enums combobox javafx

15
推荐指数
2
解决办法
2万
查看次数

IDE在java fx应用程序中的断点处以调试模式挂起

我在IntelliJ IDEA中调试时出现问题,它在javafx应用程序中的侦听器中的断点处以调试模式挂起.我试图增加堆空间,但它没有帮助.也许有人也有这样的问题,拜托,建议我该怎么做.

java ide javafx intellij-idea javafx-8

15
推荐指数
1
解决办法
4163
查看次数

可以在Raspberry Pi上使用JavaFX

我想使用JavaFX为Raspberry Pi编写程序,但我的Raspberry Pi上的Java SDK 8似乎没有JavaFX支持.

所以我的问题是JavaFX是否受支持Raspberry Pi 2/3?如果是,为什么JDK在平台上没有JavaFX库?有没有办法支持它或者值得在Raspberry PI上编写JavaFX应用程序?

正在使用的Java版本是1.8.0_65.

java javafx raspberry-pi

15
推荐指数
2
解决办法
2万
查看次数

在javafx中显示工具提示会将其舞台置于前台

我正在尝试解决jdk中的这个错误:http://bugs.java.com/bugdatabase/view_bug.do? video_id = 8088624

public class Blubb extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        Button btn = new Button("Click");
        btn.setTooltip(new Tooltip("Blubb"));

        Scene scene = new Scene(new BorderPane(btn), 320, 240);
        primaryStage.setScene(scene);
        primaryStage.show();

        Stage secondStage = new Stage();
        secondStage.setScene(new Scene(new BorderPane(new Button("Click")), 320, 240));
        //secondStage.initOwner(primaryStage);
        secondStage.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果主舞台上的按钮悬停,它将出现在第二阶段的前面.我发现调用initOwner()一个舞台将消除这种行为.

现在我的问题是:我有多个"弹出窗口",它们有一个共同的所有者(主要阶段).将鼠标悬停在主阶段上的控件上后,在initOwner()解决方法后不会导致任何意外行为.然而,如果您将鼠标悬停在弹出窗口中的控件上而另一个弹出窗口处于焦点位置,则悬停的弹出窗口将会隐藏焦点.

有没有办法可以解决这个错误,不仅是初级阶段,还有弹出窗口?

更新:结果我的解决方法有不良副作用.舞台状态的Javadocs如下:

舞台将始终位于其父窗口的顶部.

另外,什么是一种解决方法,使弹出窗口不"总是在顶部"和最小化?

java javafx

15
推荐指数
1
解决办法
815
查看次数

如何取消加载网站的webview?

我想要实现的实际上是浏览器的取消按钮,但使用JavaFX的webview.这是我到目前为止的代码:

Worker<Void> loadWorker = webView.getEngine().getLoadWorker();
if (loadWorker != null) {
    Platform.runLater(() -> loadWorker.cancel());
}
Run Code Online (Sandbox Code Playgroud)

但它有时会起作用,有时却不起作用.

取消加载页面的webview/webengine任务的正确方法是什么?

java javafx webview javafx-webengine

15
推荐指数
1
解决办法
697
查看次数

从JavaFX对话框中的数字文本字段中转义

我有一个带有几个UI元素的自定义对话框。一些TextField用于数字输入。当按下逃逸键并且焦点位于任何数字文本字段上时,此对话框不会关闭。当焦点位于没有此自定义TextFormatter的其他TextField上时,该对话框可以正常关闭。

这是简化的代码:

package application;

import java.text.DecimalFormat;
import java.text.ParsePosition;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.TextFormatter;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            TextField name = new TextField();
            HBox hb1 = new HBox();
            hb1.getChildren().addAll(new Label("Name: "), name);

            TextField id = new TextField();
            id.setTextFormatter(getNumberFormatter()); // numbers only
            HBox hb2 = new HBox();
            hb2.getChildren().addAll(new Label("ID: "), id);

            VBox vbox = new …
Run Code Online (Sandbox Code Playgroud)

javafx

15
推荐指数
1
解决办法
361
查看次数