如果我知道它的位置(行和列)或从gridPane获取节点的任何其他方式,有没有办法从gridPane获取特定节点?
我想在TextField中更改字体颜色.我找到了-fx-background-color,-fx-border-color用于更改背景和边框的颜色,但没有用于文本.有任何想法吗?谢谢你的建议
我正在javafx中构建一个简单的应用程序,我希望能够为FlowPane添加边框.
我在java中比javafx有更多的经验,所以我试图找到相当于.setBorder(BorderFactory.createEmptyBorder(0,0,0,0))但无济于事.
不幸的是,我发现的一切似乎都比我需要的更复杂.我不需要样式或短划线,这就是我所发现的.
谢谢 !
我在谷歌和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) 似乎没有API调用来计算Java FX 2.2中文本字符串的宽度(以像素为单位).在其他论坛上已经提出了变通方法的建议,但是我使用默认字体或其他方式创建或查找返回String宽度的任何代码的尝试都失败了.任何帮助,将不胜感激.
在JavaFX中是否可以更改焦点遍历策略,例如在AWT中?
因为我的两个HBoxes 的遍历顺序是错误的.
我正在尝试从javafx在默认系统浏览器中打开一个Web URL.我没有找到任何关于此的官方文件.任何线索?
编辑:我找到了一个教程,但它不起作用.我正在使用MacOsX,我尝试启动
java.awt.Desktop.getDesktop().browse(new URI(url));
Run Code Online (Sandbox Code Playgroud)
但是我得到了 HeadlessExcelption
我收到了这个错误
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) 我有一个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()方法,但如果单击button该handle()方法,则不会调用该方法.我的应用程序中有许多按钮和其他交互元素,因此我需要一种方法来捕获这些元素的点击,而无需为每个元素手动添加新的处理程序.
我试图在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