小编mac*_*110的帖子

JavaFX ComboBox在Windows 10上没有响应

我最近升级到Windows 10,在Windows 8.1中运行的JavaFX代码似乎在10中冻结.我已经跟踪了在对话框中打开ComboBox的问题.这似乎冻结了任何JavaFX程序.还有其他人有同样的问题吗?(Windows 10计算机仍然很少,所以很好地确认bug确实是JavaFX问题)

我在下面附上了示例代码.主阶段的ComboBox很好但是当我打开一个对话框并尝试在那里使用ComboBox时,整个事情就会冻结.我在Eclipse 4.4.0中使用Java 8u51

package javafxExamples;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceDialog;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class ComboErrorTest extends Application {

String[] list={"Jamie", "Arthur", "Gordon"};

private Stage stage;

public static void main(String[] args) {
    launch(args);
}


@Override
public void start(Stage stage) throws Exception {
    //create box in main stage.
    ComboBox<String> comboBox=new ComboBox<String>(); 
    for (int i=0; i<list.length; i++){
        comboBox.getItems().add(list[i]);
    }
    comboBox.getSelectionModel().select(list[0]);

    BorderPane pane = new BorderPane(comboBox);
    pane.setPrefSize(400, …
Run Code Online (Sandbox Code Playgroud)

windows combobox javafx javafx-8 windows-10

27
推荐指数
2
解决办法
5317
查看次数

JavaFX TabPane和调整父级的大小

我有一个带有变量复选框列表的舞台.当列表更改更改时,舞台必须调整大小.这在大多数情况下都可以正常工作,在将所有复选框添加到VBox之后,然后调用stage.sizeToScene()并相应地调整舞台大小.但是,如果将所有这些放在TabPane中的Tab中,stage.sizeToScene()将不再有效.我有点不知道为什么会这样.任何人都有一个好的工作或解决方案?

下面是一些示例代码.只需将withTabs字段更改为false或true,即可显示没有和使用TabPane的情况.

谢谢您的帮助.

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList; 
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox; 
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class TabResizeError extends Application {

boolean withTabs=false;

public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) {

   primaryStage.setTitle("Hello World!");


   //holds variable number of check boxes
   VBox channelBox=new VBox();
   channelBox.setSpacing(5);

   //create controls
   HBox controlsHBox=new HBox(); 
   controlsHBox.setSpacing(5);

   Button btn = new Button(); …
Run Code Online (Sandbox Code Playgroud)

tabs resize javafx stage

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

JavafX 8 3D Z 顺序。重叠形状行为是错误的。

我有一个 JavaFX 3D 场景,在随机位置添加了一堆盒子和球体。似乎深度顺序都是错误的,我不知道为什么。我曾尝试使用 myNode.setDepthTest(DepthTest.ENABLE) 但这似乎没有帮助。我附上了一个应用程序,它应该可以证明这个问题。

知道我在这里可能做错了什么吗?非常感谢任何帮助。

import javafx.application.Application;
import javafx.application.ConditionalFeature;
import javafx.application.Platform;
import javafx.event.EventHandler;
import javafx.scene.DepthTest;
import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.SubScene;
import javafx.scene.input.MouseEvent;
import javafx.scene.input.ScrollEvent;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.scene.shape.Shape3D;
import javafx.scene.shape.Sphere;
import javafx.scene.transform.Rotate;
import javafx.scene.transform.Translate;
import javafx.stage.Stage;

public class Array3DTest extends Application {


double mousePosX;
double mousePosY;
double mouseOldX;
double mouseOldY;
double mouseDeltaX;
double mouseDeltaY;

/**
 * This is the group which rotates 
 */
Group root3D;

/**
 * The camnera to 
 */ …
Run Code Online (Sandbox Code Playgroud)

java depth-buffer javafx-8 javafx-3d

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

使用Maven的JavaFX 11引发异常:“ WindowsNativeRunloopThread”

我一直在使用Maven测试JavaFX 11 ,但无法使其正常工作。我已经安装了Open JDK 11,如果添加jar来从可下载的.zip中构建路径,那么一切都很好。

但是,当我从javafx 11站点使用推荐的POM文件时,出现以下错误。

Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: <init>
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native Method)
    at javafx.graphics/com.sun.glass.ui.Screen.initScreens(Screen.java:412)
    at javafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
    at javafx.graphics/com.sun.prism.d3d.D3DPipeline.getAdapterOrdinal(D3DPipeline.java:205)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.assignScreensAdapters(QuantumToolkit.java:695)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:313)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:258)
    at javafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:153)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    at java.base/java.lang.Thread.run(Thread.java:834)
Run Code Online (Sandbox Code Playgroud)

这个问题似乎在这里曾经出现过但是该线程中的任何解决方案都没有起作用。

有人对如何诊断问题有建议吗?我正在Eclipse 4.9中运行,并附加了两个项目的屏幕快照,除了一个使用maven之外,两个项目都是相同的,而另一个使用的jar添加到了构建路径。任何帮助,不胜感激。两个项目。 javafx11mvn是一个从POM文件中加载javafx11依赖项的Maven项目,java11test2是一个标准Java项目,其javafx11 jars被添加到构建路径中。

java eclipse javafx maven javafx-11

4
推荐指数
2
解决办法
2386
查看次数