标签: javafx

JavaFX:按行和列获取节点

如果我知道它的位置(行和列)或从gridPane获取节点的任何其他方式,有没有办法从gridPane获取特定节点?

java javafx

26
推荐指数
1
解决办法
4万
查看次数

如何更改javafx TextField中文本的颜色?

我想在TextField中更改字体颜色.我找到了-fx-background-color,-fx-border-color用于更改背景和边框的颜色,但没有用于文本.有任何想法吗?谢谢你的建议

javafx

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

如何在javafx中围绕FlowPane创建简单的实线边框

我正在javafx中构建一个简单的应用程序,我希望能够为FlowPane添加边框.

我在java中比javafx有更多的经验,所以我试图找到相当于.setBorder(BorderFactory.createEmptyBorder(0,0,0,0))但无济于事.

不幸的是,我发现的一切似乎都比我需要的更复杂.我不需要样式或短划线,这就是我所发现的.

谢谢 !

user-interface javafx

26
推荐指数
1
解决办法
4万
查看次数

如何在JavaFX表视图中添加按钮

我在谷歌和Stackoverflow上搜索了这个,我只是没有得到给定的例子.有人可以向我解释一下.

我想在表视图的最后一列添加一个按钮,当它被单击时,它应该触发一个监听器并传递按钮行的对象.我只是没有从gist.github.com获得以下示例:

这是我目前的完整代码:

public class SchermdeelWerkplaats extends BorderPane{

    //ATD moeder klasse met alle collecties etc.
    private ATD $;

    TableView tabel = new TableView();
    Button nieuwTaak = new Button("Nieuwe taak inboeken");
    final ObservableList<Task> data = FXCollections.observableArrayList();

    public SchermdeelWerkplaats(ATD a) {

        $ = a;

        data.addAll($.agenda);

        tabel.setEditable(false);
        tabel.setPlaceholder(new Label("Geen taken"));

        TableColumn c1 = new TableColumn("datum");
        c1.setMinWidth(200);
        TableColumn c2 = new TableColumn("type");
        c2.setMinWidth(100);
        TableColumn c3 = new TableColumn("uren");
        c3.setMinWidth(100);
        TableColumn c4 = new TableColumn("klaar");
        c4.setMinWidth(200);
        TableColumn c5 = new TableColumn("Werknemer");
        c5.setMinWidth(100);
        TableColumn …
Run Code Online (Sandbox Code Playgroud)

java javafx button tableview

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

如何计算JavaFX中String的像素宽度?

似乎没有API调用来计算Java FX 2.2中文本字符串的宽度(以像素为单位).在其他论坛上已经提出了变通方法的建议,但是我使用默认字体或其他方式创建或查找返回String宽度的任何代码的尝试都失败了.任何帮助,将不胜感激.

java javafx javafx-2

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

JavaFX:如何更改焦点遍历策略?

在JavaFX中是否可以更改焦点遍历策略,例如在AWT中?

因为我的两个HBoxes 的遍历顺序是错误的.

java javafx focus javafx-2 javafx-8

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

如何从java fx应用程序中打开默认系统浏览器?

我正在尝试从javafx在默认系统浏览器中打开一个Web URL.我没有找到任何关于此的官方文件.任何线索?

编辑:我找到了一个教程,但它不起作用.我正在使用MacOsX,我尝试启动

java.awt.Desktop.getDesktop().browse(new URI(url));
Run Code Online (Sandbox Code Playgroud)

但是我得到了 HeadlessExcelption

javafx javafx-2

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

线程"main"中的JavaFX异常java.lang.NoClassDefFoundError:javafx/application/Application

我收到了这个错误

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Ap
plication
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 13 more
Run Code Online (Sandbox Code Playgroud)

尝试运行我的类文件时,这是源

import javafx.application.Application;
import javafx.fxml.FXMLLoader; …
Run Code Online (Sandbox Code Playgroud)

java javafx exception noclassdeffounderror

25
推荐指数
4
解决办法
6万
查看次数

使用JavaFX在任何地方处理鼠标事件

我有一个JavaFX应用程序,我想在场景中的任何地方添加一个鼠标单击的事件处理程序.以下方法可以正常工作,但不完全按我想要的方式工作.这是一个说明问题的示例:

public void start(Stage primaryStage) {
    root = new AnchorPane();
    scene = new Scene(root,500,200);
    scene.setOnMousePressed(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            System.out.println("mouse click detected! "+event.getSource());
        }
    });

    Button button = new Button("click here");
    root.getChildren().add(button);

    primaryStage.setScene(scene);
    primaryStage.show();
}
Run Code Online (Sandbox Code Playgroud)

如果我单击空白处的任何位置,则EventHandler调用该handle()方法,但如果单击buttonhandle()方法,则不会调用该方法.我的应用程序中有许多按钮和其他交互元素,因此我需要一种方法来捕获这些元素的点击,而无需为每个元素手动添加新的处理程序.

java javafx event-handling mouseevent

25
推荐指数
1
解决办法
6万
查看次数

如何在JavaFX GridPane的列之间设置填充?

我试图在javaFx程序中显示一个2列网格.这就是我设置网格的方式:

    GridPane grid = new GridPane();

    ColumnConstraints column1 = new ColumnConstraints();
    column1.setPercentWidth(50);
    ColumnConstraints column2 = new ColumnConstraints();
    column2.setPercentWidth(50);
    grid.getColumnConstraints().addAll(column1, column2); 
Run Code Online (Sandbox Code Playgroud)

这是问题所在.我想在一列结束和另一列开始之间显示一个小空格.但是,列显示为彼此粘合.

这是一个截图:

截图

此处每列包含"项目名称"和"处理,编辑,删除"按钮.

您可以看到柱子是如何粘在一起的.我希望他们之间有一些空间.

我怎么解决这个问题?

我整体用户界面的层次结构如下:

场景> ScrollPane> BorderPane> Vbox(中心)> GridPane

java javafx

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