天道酬勤,学无止境

javafx

JavaFX 8 Z-buffer issue

问题 我的问题是 JavaFX 3D 中的 Z-Buffer,它在我的机器上似乎没有按预期工作。 我知道问题:重叠的形状和 ...Z 顺序... 但是我确实启用了 Z-Buffer,并且节点仍然按照它们添加到场景图中的顺序进行渲染。 也许我缺少一些依赖项或其他任何东西? 我正在发布代码,希望有人可以帮助我。 我正在创建一个在椭圆路径上围绕另一个节点移动节点的过渡。 先感谢您! public class OrbitExp extends Application { Group root = new Group(); Scene scene = new Scene(root, 800, 600, true, SceneAntialiasing.BALANCED); PerspectiveCamera camera = new PerspectiveCamera(); @Override public void start(Stage primaryStage) { root.setDepthTest(DepthTest.ENABLE); //Tried to set Depthtest explicitly. Assumed maybe it did not inherit:S System.out.println( "3D supported? " + Platform

2022-07-11 09:47:06    分类:技术分享    java   javafx   javafx-8   javafx-3d

What is the JavaFX runtime?

问题 在文档中经常说“JavaFX 运行时”在后台执行 XY - 但什么是“运行时”? 如果我理解正确(请编辑),运行时由以下部分组成: JavaFX 框架的所有类等,位于 javafx 包中并存储在 jxfrt.jar 文件中 'JavaFX-Launcher' 线程 “JavaFX 应用程序线程”:运行 JavaFX 应用程序的所有对象和线程。 它们是在调用 Appplication.launch() 方法时由 JavaFX-Launcher 线程创建的。 我的问题是:什么是运行时? 回答1 J Woodchucks 答案针对 Java 7 和 8。此答案仅针对 Java 9+。 对于 JRE 9+, jfxrt.jar不存在,由<JRE_HOME>/jmods .jmods中的 .jmods 代替。 这是作为 JDK 模块化的一部分完成的。 JavaFX 所需的其他本机库包含在<JRE_HOME>/lib目录中。 如果没有所需的本机库,JavaFX 将无法工作。 您可以使用 Oracle 等供应商提供的完整 JRE 运行时(也可能是第三方 OpenJDK 提供商,例如 Ubuntu 或 Redhat JRE 包)。 这将包括运行 JavaFX 所需的所有模块和库,以及构成 JRE 一部分但不一定需要运行 JavaFX 应用程序的模块和库。 请注意,对于 Java 8,一些

2022-05-17 00:33:04    分类:技术分享    java   javafx   runtime

JavaFX list like the library in the SceneBuilder

问题 我试图在 SceneBuilder 中重新创建库列表的外观,但我不知道我需要采用哪个元素。 如何重新创建此列表? 回答1 这是使用 ControlsFx Awesome Fonts 的草稿。 主要的: import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; /** * * @author blj0011 */ public class JavaFXApplication73 extends Application { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } /** * @param args the command line arguments */ public

2022-05-16 16:18:18    分类:技术分享    java   user-interface   javafx

Why is an invisible TableView covering up a label?

问题 我有一个奇怪的 GUI 问题。 我正在使用 JavaFX 制作应用程序。 该应用程序有不同的页面,每个页面都有一个标题、标签和 tableView。 让我们关注欢迎页面。 如果我只在我的 vbox 中添加一个 tableView,一切看起来都很正常。 vbox.getChildren().addAll(title, subtitle, reqTable); 但是当我添加所有三个 tableViews 时,标题下方的标签会被切断。 桌子甚至还看不见! vbox.getChildren().addAll(title, subtitle, reqTable, tempTable, ontTable); 知道为什么会发生这种情况吗? 这是我的完整代码。 谢谢! package FLOOR; // --- Imports import javafx.application.Application; import javafx.beans.property.StringProperty; import javafx.collections.ObservableList; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene

2022-05-16 15:34:58    分类:技术分享    java   javafx   tableview   vbox

javaFX:move shapes with absolute coordinates using translatetransition

问题 我正在使用 javaFX 实现合并排序动画。 我想使用绝对坐标来移动形状。 我使用 Translatetransition() 的setToX()和setToY() Translatetransition() 。 但是,这些形状位于具有固定间距的 HBox 中。 我尝试将它们移动到不同的地方,但它不起作用。 setToX()和setToY()使用 HBox 作为参考。 形状始终具有固定的间距,并且形状的顺序不会改变。 我使用getLayoutX()和getLayoutY()来获取绝对坐标。 谁能帮我?? 这些是相关代码: HBox hBox = new HBox(20); hBox.setAlignment(Pos.CENTER); hBox.setPadding(new Insets(0,0,0,0)); ArrayList<StackPane> list = new ArrayList<>(); Random random = new Random(5); for (int i = 0; i < 12; i++) { int num = random.nextInt(10); Rectangle rectangle = new Rectangle(40, (num * 10) + 50); rectangle.setFill(Color.valueOf("#0000FF"

2022-05-16 12:58:05    分类:技术分享    java   sorting   animation   javafx

how to make a global MySQL connection method in Java

问题 public void LoginButtonHandler(ActionEvent event){ user.setUsername(username.getText().trim()); user.setPassword(password.getText().trim()); String Username = user.getUsername(); String Password = user.getPassword(); try{ Class.forName("com.mysql.jdbc.Driver"); // MySQL database connection Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/airinvoice?" + "user=root&password=*******"); PreparedStatement pst = conn.prepareStatement("Select * from users where username=? and password=?"); pst.setString(1, Username); pst.setString(2, Password); ResultSet rs =

2022-05-16 07:08:17    分类:技术分享    java   mysql   javafx

JavaFX Live Time and Date

问题 我目前正在构建一个使用 JavaFx 的应用程序,该应用程序具有一个额外的功能,可以在场景的顶角显示当前日期和时间。 由于我是 JavaFX 新手,所以我不知道如何实现这个。 我尝试在 swing 中使用旧代码,但出现 IllegalStateException 错误。 这是我的代码。 主菜单控制器.java @FXML private Label time; private int minute; private int hour; private int second; @FXML public void initialize() { Thread clock = new Thread() { public void run() { for (;;) { DateFormat dateFormat = new SimpleDateFormat("hh:mm a"); Calendar cal = Calendar.getInstance(); second = cal.get(Calendar.SECOND); minute = cal.get(Calendar.MINUTE); hour = cal.get(Calendar.HOUR); //System.out.println(hour + ":" + (minute) + ":" + second); time

2022-05-16 04:18:54    分类:技术分享    java   javafx   javafx-8

How to display an ObservableMap via JavaFX's TableView

问题 最近,我一直在思考通过 JavaFX 的TableView显示ObservableMap的最佳方式是什么。 final ObservableList<Entry<K, V>> observableList = FXCollections.observableArrayList(observableMap.entrySet()); tableView.setItems(observableList); 这显然不会起到作用,因为对observableMap的更改不会反映在TableView中,因为ObservableMap#entrySet()是不可观察的,提交给TableView的编辑也不会到达observableMap ,因为observableList只是一个包含来自所有条目的ObservableList observableMap但它没有得到它的支持。 我想到了两种可能的解决方案来提供这个功能。 采用ObservableMap并返回ObservableList的静态实用程序方法。 为了使它们保持同步,将侦听器添加到地图和列表中,这会自动将其中任何一个中所做的更改应用于另一个。 创建一个实现ObservableList接口的新类型MapBackedObservableList 。 当构造一个ObservableMap时,它被存储为一个属性,并且所有的更改/请求都被转发给它。

2022-05-15 21:50:33    分类:技术分享    java   javafx   javafx-8   observablecollection

JavaFX Two Shapes Intersecting - Collision Method Not Working

问题 public void collisionDetection() { if (_circle.getNode().intersects(_square.getRect().getX(), _square.getRect().getY(), 100.0, 30.0)) { System.out.println("collision detected"); } } } 回答1 if (_circle.intersects( _circle.sceneToLocal(_square.localToScene( _square.getBoundsInLocal()))) { // ... } 回答2 我创建了一个碰撞检测应用程序,您可以使用它来更好地理解碰撞检测。 主要的: import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; /** * * @author blj0011 */ public class CollisionDection extends Application { @Override public void start

2022-05-15 21:50:12    分类:技术分享    javafx   collision   shapes

How do i show a context menu when right click on a Pane or an ImageView in javaFX

问题 @FXML Button button1, button2; @FXML Pane mainPane; @FXML ImageView image; private void initContextMenu() { final ContextMenu contextMenu = new ContextMenu(); final MenuItem item1 = new MenuItem("open a file"); final MenuItem item2 = new MenuItem("quit"); contextMenu.getItems().addAll(item1, item2); // not possible image.setContextMenu(contextMenu); // possible button1.setContextMenu(contextMenu) 回答1 image.setOnContextMenuRequested(e -> contextMenu.show(image, e.getScreenX(), e.getScreenY()));

2022-05-15 17:37:09    分类:技术分享    java   javafx   javafx-2   javafx-8