Tag: javafx

在javaFX中Pane和stackPane有什么区别?

我正在学习javafx,并且遇到了这两个我不知道它们的区别的陈述。 Pane pane = new Pane(); 和 StackPane pane = new StackPane(); 有人可以告诉我有关差异以及何时使用哪个?

如何锁定JavaFX全屏模式?

我目前正在制作一个志愿登录应用程序,需要防止任何篡改计算机的企图。 首先,我将应用程序设置为全屏,足够轻松。 然后我尝试将窗口的退出键组合设置为null,但在这种情况下JavaFX会自动默认为转义键。 我将有一个管理部分,可以使用密码退出程序。 有没有办法有效地拦截退出JavaFX应用程序的全屏状态的任何可能的方法,或者 – 更好的是 – 暂时挂起/锁定其他操作系统function? 编辑 – 使用KeyCombination.NO_MATCH,我阻止用户退出全屏。 但是,操作系统仍然完全能够使用标准键组合退出,或者在OS X的情况下,只需将鼠标移动到屏幕顶部并使用程序菜单退出即可。

无法将选项卡和空格插入PDBox PDF文档

我想用PDFBOX创建的PDF格式打印出来。 它不会让我插入标签和空格,因为字体不支持它们。 为什么这是一个问题,更重要的是,我该如何解决? StudentData student = listOfDebtors.get(j); contentStream.beginText(); contentStream.setFont(font, 8); contentStream.newLineAtOffset(xPosition, yPosition); contentStream.showText(“Member #:”+ student.getMembershipNumber() + “\t” + “Grade:” + getStudentGradeInSchool(student.getYearGraduate()) + “\t” + “Year Joined” + student.getYearJoined() + “\n” + “Name:” + student.getFirstName() + ” ” + student.getLastName() + “\n” + “Amount Owed : $” + student.getAmountOwed()); 显示错误: Caused by: java.lang.IllegalArgumentException: No glyph for […]

JavaFX + maven + TestFX +单片机不能一起工作

我在maven下有一个用于恶魔JavaFX + TestFX的小项目。 我用: Java(TM)SE运行时环境(版本1.8.0_40-b26) Apache Maven 3.2.5(12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T21:29:23 + 04:00) 完整来源: https : //github.com/alevohin/testfx-maven-example 我有两个我无法解决的问题: 1)当我从IDE(IDEA)启动AppFXTest时,测试失败 java.lang.ClassNotFoundException: com.sun.glass.ui.monocle.MonoclePlatformFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.sun.glass.ui.PlatformFactory.getPlatformFactory(PlatformFactory.java:42) at com.sun.glass.ui.Application.run(Application.java:146) at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:263) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:211) at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675) at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:695) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(LauncherImpl.java:182) at com.sun.javafx.application.LauncherImpl$$Lambda$4/367732825.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) Failed to load Glass factory class […]

ComboBox SAME项目选定的动作侦听器

如果选择了DIFFERENT值,combobox将触发事件。 我希望能够收听正在选择的SAME项目(也就是说,valueProperty没有变化)。 似乎没有办法做到这一点。 我尝试扩展ComboBox并找到一种方法来监听关闭的小弹出菜单,但我甚至无法访问它! 我能做什么? 这是我在尝试的: class ResponsiveComboBox extends ComboBox { public ResponsiveComboBox() { super(); assert getContextMenu() != null; //Asssertion failed! this.getContextMenu().setOnHiding((WindowEvent event) -> { fireEvent(new ActionEvent()); }); } }

运行默认Gluon项目后出错(:dex FAILED)

我下载了Netbeans的Gluon插件,将JavaFX应用程序部署到Android。 它在桌面上成功运行,但是当我执行android任务时,它会抛出一个错误: Executing: gradle :android :compileJava UP-TO-DATE :compileRetrolambdaMain UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileAndroidJava UP-TO-DATE :compileRetrolambdaAndroid SKIPPED :compileTestJava UP-TO-DATE :compileRetrolambdaTest SKIPPED :compileRetrolambda UP-TO-DATE :mergeClassesIntoJar :validateManifest :collectMultiDexComponents :shrinkMultiDexComponents :createMainDexList [ant:java] Java Result: 1 :dex FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ‘:dex’. > org.gradle.api.GradleException (no error message) * […]

NullPointer在setText()上的exception,而所有内容都已正确加载和注释

我从start()方法尝试在带注释的标签上调用setText()时收到以下exception。 我看过一个类似的问题,但之所以对那个人不起作用的原因是因为他的标签没有注释,而我的标签是。 java.lang.NullPointerException at io.github.blubdalegend.openbravery.OpenBravery.applyBuild(OpenBravery.java:67) at io.github.blubdalegend.openbravery.OpenBravery.start(OpenBravery.java:58) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown Source) at java.lang.Thread.run(Unknown Source) 这是我的主要课程: public class OpenBravery extends Application implements Initializable { @FXML private Button rerollButton; @FXML private Label champL; public static void main(String[] […]

重新填充TreeTableView后单击TreeTableCell时出现Javafxexception

我目前收到一个我不明白的错误。 抛出的exception在我的代码中指向任何内容,但只有在我通过清除根项目的子项并向其添加新的set och子项重新填充TreeTableView之后才抛出它。 这是例外: Exception in thread “JavaFX Application Thread” java.lang.NullPointerException at javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.handleSelectedCellsListChangeEvent(TreeTableView.java:3056) at javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel.clearAndSelect(TreeTableView.java:2527) at com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.simpleSelect(TableCellBehaviorBase.java:209) at com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.doSelect(TableCellBehaviorBase.java:148) at com.sun.javafx.scene.control.behavior.CellBehaviorBase.mousePressed(CellBehaviorBase.java:132) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:95) at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89) at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) […]

如何在框的每个面添加文本

我创建了一个可以旋转的框,以及在点击时会做什么〜某些动作〜 我遇到的问题是在这个盒子的所有面上显示文字,例如; 正面1个,顶部2个,背面3个,底部4个,左侧5个,右侧6个。 我知道StackPane可以用来覆盖多维数据集顶部的文本框,但我不认为这在这种情况下真的有用。 由于box本质上是一个预构建的TriangleMesh,这可能吗? 就目前所见,box没有任何内置function来执行此操作。 static double mousePosX; static double mousePosY; static double mouseOldX; static double mouseOldY; public static Scene testScene(Stage stage) { Group root = new Group(); Scene scene = new Scene(root, stage.getWidth(), stage.getHeight(), true, SceneAntialiasing.BALANCED); scene.setFill(Paint.valueOf(“Blue”)); PerspectiveCamera camera = new PerspectiveCamera(true); camera.setNearClip(0.1); camera.setFarClip(10000.0); camera.setTranslateZ(-10); scene.setCamera(camera); Box box = new Box(1,1,1); box.setOnMouseClicked(e -> […]

线程“JavaFX Application Thread”中的exceptionjava.lang.IllegalArgumentException:参数类型不匹配

我必须做一个数独游戏。 当我尝试编码时,我发现了一个问题,我无法自行修复。 我正在使用SceneBuilder。如果您有任何想法来解决我的问题或一些建议,我会非常感激 那是我的代码: FXMLDocumentController public class FXMLDocumentController implements Initializable { @FXML private GridPane grid; public TextField[][] field= new TextField[9][9]; public class getXY{ private TextField temp; private int a; int x,y; public int getNodeByRowColumnIndex(final int row,final int column,GridPane gridPane) { Node result = null; ObservableList childrens = gridPane.getChildren(); for(Node node : childrens) { if(gridPane.getRowIndex(node) == […]