标签: fxml

基于javafx和fxml的透明背景

有许多方法可以将窗格或背景场景的背景设置为透明.

e.g http://stackoverflow.com/questions/12717487/how-to-implement-a-transparent-pane-with-non-transparent-children
Run Code Online (Sandbox Code Playgroud)

但是,如果我有一个基于fxml和基于控制器的文件的应用程序,我怎么能这样做?

当我已经在基于fxml的文件中创建了一个应用程序,并且布局在基础上有一个AnchorPane,而在它上面有一些其他窗格.我如何实际将白色背景变为透明或半透明?

java stage scene javafx-2 fxml

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

使用自定义 javafx 标签不起作用

好的,我已经创建了自己的客户标签,对于这个示例,它非常基础。我所做的是在名为 MyLabel 的自定义类中扩展 Javafx Label。我还使用 FXML 来创建 GUI。现在,当我这样做时,由于出现此错误,我似乎无法使用自定义类进行实例化。

"Can not set net.blacksquirreldevs.tests.MyLabel field net.blacksquirreldevs.tests.SampleLabelController.sampleLabel to javafx.scene.control.Label"
Run Code Online (Sandbox Code Playgroud)

这是所有内容的代码

主程序

package net.blacksquirreldevs.tests;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("SampleLabel");
    AnchorPane anchorPane = (AnchorPane)     FXMLLoader.load(getClass().getResource("SampleLabel.fxml"));

    primaryStage.setScene(new Scene(anchorPane));
    primaryStage.show();
}

public static void main(String... args) {
    launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)

我的标签

package net.blacksquirreldevs.tests;

import javafx.scene.control.Label;


public class MyLabel extends Label {

public MyLabel(String text) {
    super();
    setText(text); …
Run Code Online (Sandbox Code Playgroud)

javafx fxml

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

如何在netebeans中的java fxml应用程序中删除编译时的警告

我有一个使用fxml和JavaFX Scene Builder 1.1的JavaFX应用程序.当我在Netbeans中编译项目时,它会为项目中包含的每个jar文件发出警告,这使得编译需要更多时间.例如:

Warning: 
The signer certificate will expire within six months.
Enter Passphrase for keystore: Enter key password for nb-jfx: 
Signing JAR: E:\Project\Client\Development\Mednet\dist\lib\activation.jar to E:\Project\Client\Development\Mednet\dist\lib\activation.jar as nb-jfx

Warning: 
The signer certificate will expire within six months.
Enter Passphrase for keystore: Enter key password for nb-jfx: 
Signing JAR: E:\Project\Client\Development\Mednet\dist\lib\antlr-2.7.7.jar to E:\Project\Client\Development\Mednet\dist\lib\antlr-2.7.7.jar as nb-jfx

Warning: 
The signer certificate will expire within six months.
Enter Passphrase for keystore: Enter key password for nb-jfx: 
Signing JAR: E:\Project\Client\Development\Mednet\dist\lib\asm-3.1.jar to E:\Project\Client\Development\Mednet\dist\lib\asm-3.1.jar as nb-jfx

Warning: …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2 fxml javafx-8

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

FXML 变量未绑定

我的 FXML 注入有问题。据我所知,我已经设置了我的程序,但似乎我遗漏了一些东西。我的代码如下:

主要的:

package application;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;


public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {

        try {

            FXMLLoader loader = new FXMLLoader(getClass().getResource("NoteKeeper.fxml"));

            BorderPane root = (BorderPane)loader.load();
            Scene scene = new Scene(root,root.getHeight(),root.getWidth());
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

package application;




import java.net.URL;
import java.util.ResourceBundle;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.ScrollPane; …
Run Code Online (Sandbox Code Playgroud)

java javafx fxml javafx-8

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

包含的 FXML 不适合父级

FXML在一个主FXML视图中包含了几个s,但问题是当我更改父AnchorPane视图的高度时,包含的视图高度不会改变,而且我在文档中没有找到任何关于包含的大小的内容FXML。有人知道吗?

<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" SplitPane.resizableWithParent="false">
    <children>
        <fx:include fx:id="child" source="child.fxml" />
    </children>
</AnchorPane>
Run Code Online (Sandbox Code Playgroud)

javafx fxml

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

如何将数据从 Java 传递到 FXML?

在控制器(或者可能是主文件或其他文件,我不确定这一切是如何工作的)中,我们有以下内容:

String foo = "Foo.";
Run Code Online (Sandbox Code Playgroud)

在 Scene Bilder 生成的 FXML 中,是这样的:

<Button mnemonicParsing="false" prefHeight="25.0" prefWidth="61.0" text="Browse" />
Run Code Online (Sandbox Code Playgroud)

如何使 foo 的值显示为按钮上的文本?我应该在哪里存储它,控制器还是其他地方?我仍然对 Main 文件、控制器和 FXML 文件如何准确组合在一起感到困惑。

java controller javafx fxml

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

如何在TableML中给TableColumns一个相对宽度?

是否可以在FXML中调整TableView的大小,其中每列的相对大小调整?我知道在代码中这是可能的,但我特意寻找FXML方法.

这是目前的做法:

<BorderPane xmlns:fx="http://javafx.com/fxml">
    <fx:define>
        <Double fx:id="tableViewWidth" fx:value="600"/>
    </fx:define>
    <center>
        <TableView fx:id="expensesTableView" editable="true" prefWidth="${tableViewWidth}">
            <columnResizePolicy>
                <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
            </columnResizePolicy>
            <columns>
                <TableColumn text="Title" prefWidth="${tableViewWidth * 3}">
                    <cellValueFactory>
                        <PropertyValueFactory property="title" />
                    </cellValueFactory>
                </TableColumn>
                <TableColumn text="Category" prefWidth="${tableViewWidth * 3}">
                    <cellValueFactory>
                        <PropertyValueFactory property="category" />
                    </cellValueFactory>
                </TableColumn>
                <TableColumn text="Period" prefWidth="${tableViewWidth * 2}">
                    <cellValueFactory>
                        <PropertyValueFactory property="period" />
                    </cellValueFactory>
                </TableColumn>
                <TableColumn text="Value" prefWidth="${tableViewWidth * 2}">
                    <cellValueFactory>
                        <PropertyValueFactory property="value" />
                    </cellValueFactory>
                </TableColumn>
            </columns>
        </TableView>
    </center>
</BorderPane>
Run Code Online (Sandbox Code Playgroud)

乘法部分似乎不起作用.

javafx fxml javafx-8

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

从标签中获取fx:id,点击从控制器获取其文本

使用JavaFX和Scene Builder,我试图从控制器访问Label内的文本.

我在控制器中初始化了一个标签:

@FXML
private Label label1;
Run Code Online (Sandbox Code Playgroud)

以下代码位于fxml文件中:

<Label fx:id="lable1" onMouseClicked="#handleLabel" text="Label 1" />
Run Code Online (Sandbox Code Playgroud)

我已使用场景构建器将标签绑定到控制器中的此函数:

private void handleLabel(MouseEvent event) { 
// get text from label n
}
Run Code Online (Sandbox Code Playgroud)

我的想法就是打电话label1.getText().但是为此,我需要获得标签的fx:id,因为我会有很多标签,所以我不能单独硬编码所有的id.

在JavaFX控制器中获取被点击对象的id的更好方法 我已经找到了这个,但我不认为这个答案对我有用,因为初始化标签和设置id似乎不适合@FXML.此外,尚未回答是否可以访问组件的fx:id.

任何其他方式如何访问Label对象的方法getText()也是受欢迎的.

java user-interface javafx fxml scenebuilder

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

IntelliJ 不保存更改

我遇到了 IntelliJ 的问题。每次我保存对我正在编辑的某些 FXML 的更改时,这些更改都会在执行程序时删除。

示例代码

比如我把上面的50.0改成160.0,运行程序后代码又变回50.0。我还附上了一张项目浏览器的图片,因为它可能暗示了 Verison Control 的一些东西。

项目浏览器

显然有些颜色不正常。我从共享 GitHub 存储库的 Gradle 中导入了该项目。谢谢!

java intellij-idea fxml

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

在 ImageView 上添加多个效果

我正在尝试向 ImageView 添加多个效果(超过 2 个)。2 效果没有问题:effect1.setInput(Effect effect2) and imageView.setEffect(effect1)

但是我怎样才能用 3 个或更多的效果来做到这一点?

先感谢您!

java javafx imageview fxml

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